我無法將DynamicComponentLoader注入到組件的構造函數中。我在運行時收到下面的錯誤消息。 Angular類型定義和Angular實現是v2.0.0-39。它被定義爲angular2.d.ts文件中的一個接口。DynamicLoaderComponent未被識別爲類型
錯誤:無法解析MyAppComponent(?,?)的所有參數。確保他們都有有效的類型或註釋。
以下是編譯設置:
tsc -w -m commonjs -t es5 --emitDecoratorMetadata -experimentalDecorators app.ts
我缺少什麼?
app.ts
/// <reference path="typings/angular2/angular2.d.ts" />
import {Component, View, bootstrap, DynamicComponentLoader, ElementRef } from 'angular2/angular2';
@Component({
selector:'my-app'
})
@View({
template: '<h1>Hello {{name }}</h1>'
})
class MyAppComponent{
name: string;
constructor(loader: DynamicComponentLoader, elem: ElementRef) {
this.name='World';
}
}
bootstrap(MyAppComponent);
的index.html
<!-- index.html -->
<html>
<head>
<title>Angular 2 Demo</title>
<script src="https://github.jspm.io/jmcriffey/[email protected]/traceur-runtime.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/systemjs/0.18.4/system.src.js"></script>
<script>
System.config({
defaultJSExtensions: true
});
</script>
<script src="https://code.angularjs.org/2.0.0-alpha.39/angular2.dev.js"></script>
</head>
<body>
<my-app></my-app>
<script>System.import('app');</script>
</body>
</html>
這是一個已知的問題,因爲alpha38(見[#4497](https://github.com/angular/angular/issues/4497)),現在使用'@Inject'。 –