嗨,我是Angular 2的新手,我提到了许多其他类似的帖子,但没有帮助我。
以下是我的查询
何时在@component装饰器中使用指令和提供程序参数?我导入组件
我在oninit()内部进行了一个http订阅调用,但是在页面加载时它永远不会被调用我在控制台中得到了未定义的值。如何在页面加载时调用它。
ngOnInit() {
this.loginService.getLoginData()
.subscribe(data => {
this.loginData = data;
this.loginDataLength = data.length;
});
console.log(this.loginData);
}
答案 0 :(得分:5)
- 何时在@component装饰器中使用指令和提供程序参数?
指令,当你想使用指令时,你可以在那里加载那些,但那是旧版本。
提供商,当您想要在组件或模块中加载服务时
- 首先将代码更改为:
ngOnInit() {
this.loginService.getLoginData()
.subscribe(data => {
this.loginData = data;
this.loginDataLength = data.length;
console.log(this.loginData);
});
}
这是异步调用,因此你不会按顺序获取数据,http调用完成后你的控制台日志不会被调用,只要调用api就会调用它,所以你必须在subscribe方法中记录它。
- 路由时如何在2个组件之间进行通信?
通过使用CommonService并在路由级别或根据项目结构和您的要求提供它。