我正在学习angular.io中的教程显示数据。
我引入了一个新的类FriendsService来分离控制器逻辑和模型关注点。我在DisplayComponent类中通过使用依赖注入调用DisplayComponent类,依赖注入不起作用。
控制台中没有错误。页面不显示组件。这是导致组件不显示在页面上的行。
constructor(friendsService: FriendsService) 如果将构造函数更改为:
constructor() 我用的是angular2.alpha.34,打字本,ES6。
我解决了。是Eclipse插件引起了这个问题。插件没有生成ES5投诉正确的代码。
我使用了在-m网站中描述的"tsc -t es5 -emitDecoratorMetadataapp.ts“命令。
eclipse插件生成的代码和命令"tsc“生成的代码略有不同。
当使用"tsc“命令时,我实现了预期的行为。
发布于 2015-08-15 14:36:27
首先,您必须在任何组件或指令之前定义服务。
如果你有这样的东西
class Component {
constructor(svc: Service) {
}
}
class Service {
}它会失败的。在这种情况下,您应该使用fordwardRef,或者可以在组件之前声明它。
class Service {
}
class Component {
constructor(svc: Service) {
}
}另一件事是,您必须使用viewBindings注入您的服务(参见ComponentAnnotation文档)。
class Service {
}
@Component({
viewBindings: [Service]
})
class Component {
constructor(svc: Service) {
}
}你可以走了。希望能帮上忙。
https://stackoverflow.com/questions/32022674
复制相似问题