我有一个订阅pub子消息服务的事件的方法。在回调中,我想要定义一个类属性。当我尝试分配属性值时,它返回undefined。我理解这提到了这个'从班级改为方法,但是我需要它才能访问班级'这个'属性。如何将值分配给类属性' this.icon'在我的回调方法里面?
{{1}}
答案 0 :(得分:0)
由于这是一个异步事件,无论你做什么,this.icon
最初都会在回调之外被定义。请查看此信息,了解更多信息:How do I return the response from an Observable/http/async call in angular2?
您提到您正在通过icon
将@Input()
传递给孩子,然后在孩子中使用ngOnChanges
,这会抓住icon
发生的变化。在ngOnChanges
中,您可以创建一个条件,执行您想要执行的任何逻辑,在之后将值设置为图标,这样就可以在您的孩子中执行以下操作:
@Input() icon;
ngOnChanges() {
if(this.icon) {
console.log('icon is set, now do something with it!')
}
}
如果你对视图有疑问,有一些可能的解决方案,比如使用安全导航操作符,这里有更多信息:Cannot read property "totalPrice" of undefined
这是一个
希望这有帮助! :)