首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖注入:角2不工作

依赖注入:角2不工作
EN

Stack Overflow用户
提问于 2015-08-15 07:50:25
回答 1查看 978关注 0票数 2

我正在学习angular.io中的教程显示数据。

我引入了一个新的类FriendsService来分离控制器逻辑和模型关注点。我在DisplayComponent类中通过使用依赖注入调用DisplayComponent类,依赖注入不起作用。

控制台中没有错误。页面不显示组件。这是导致组件不显示在页面上的行。

代码语言:javascript
复制
constructor(friendsService: FriendsService) 

如果将构造函数更改为:

代码语言:javascript
复制
constructor() 

我用的是angular2.alpha.34,打字本,ES6。

我解决了。是Eclipse插件引起了这个问题。插件没有生成ES5投诉正确的代码。

我使用了在-m网站中描述的"tsc -t es5 -emitDecoratorMetadataapp.ts“命令。

eclipse插件生成的代码和命令"tsc“生成的代码略有不同。

当使用"tsc“命令时,我实现了预期的行为。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-15 14:36:27

首先,您必须在任何组件或指令之前定义服务。

如果你有这样的东西

代码语言:javascript
复制
class Component {
    constructor(svc: Service) {
    }
}

class Service {
}

它会失败的。在这种情况下,您应该使用fordwardRef,或者可以在组件之前声明它。

代码语言:javascript
复制
class Service {
}

class Component {
    constructor(svc: Service) {
    }
}

另一件事是,您必须使用viewBindings注入您的服务(参见ComponentAnnotation文档)。

代码语言:javascript
复制
class Service {
}

@Component({
    viewBindings: [Service]
})
class Component {
    constructor(svc: Service) {
    }
}

你可以走了。希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32022674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档