![](/img/trans.png)
[英]Using ESLint and Prettier with both TypeScript and JavaScript
[英]Angular 2 using both typescript and javascript
我有用JavaScript編寫的angular 2應用程序。 我想將其遷移到打字稿。
JS代碼是:
(function (app) {
app.SomeService = ng.core
.Class({
constructor: [app.AnotherService, function SomeService(s) {
this._anotherService = s;
}],
someFunction: function(){
...
}
.....
});
})
(window.app || (window.app = {}));
我想將此服務注入到我的打字稿組件中。 我怎樣才能做到這一點?
我試圖這樣使用它:
@Component({...})
export class SomeComponent {
constructor(public someService: window.app.SomeService) {
}
}
但這行不通。
我設法混合JS和TS的方法是將文件與JS一起使用,就您而言,假設它是src / app.js,並帶有上面發布的代碼。
此時,您可以執行以下兩項操作之一:
您創建一個將使用所述JS代碼的組件,例如:
import {Component} from "angular2/core"; @Component({ selector: 'app', template: ` <a> <onclick='app()'>When the function is clicked, use app() code</a> , directives: [] }) export class App { constructor(){ } }
該模板將取決於您的代碼應該做什么。 我經常使用onClick,但是在這里您可以看到一個示例:
template: `<input value="Select Date" type="text" class="datepicker" onclick ="myCalendar()" >
`
另一種選擇是從構造函數中調用JS代碼
import {Component} from 'angular2/core'; @Component({ selector: 'app', template: ` <div> </div> `, directives: [] }) export class MyApp { name:string; constructor() { this.name='Angular 2'; app(); } }
因此,據我所知,這取決於您想做什么以及何時進行。 有些人有更多的經驗,但是我盡量不要說錯什么,並提供與我現在正在工作的類似的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.