首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解ngOnChanges吊钩

理解ngOnChanges吊钩
EN

Stack Overflow用户
提问于 2016-08-08 04:06:15
回答 1查看 2.2K关注 0票数 0

下面是OnChanges生命周期事件在angular2文档中的解释。

ngOnChanges -在ngOnInit之前以及当数据绑定输入属性值更改时.

下面是我的示例组件代码

代码语言:javascript
复制
@Component({
   selector:'app-main',
   template:`
      <user-form>Loading....</user-form>
   `,
   directives: [userFormComponent],
   providers: [HTTP_PROVIDERS,UserService]
})

export class AppComponent implements OnInit , OnChanges {

  @Input()
  public prop: string = "hi!";

  ngOnInit() {
     console.log('ngOnInt') ;
  }

  ngOnChanges() {
     console.log('ngOnChanges') ;
  }  

}

我在html页面中引用这个组件,如下所示

代码语言:javascript
复制
<app-main [prop]="test">Loading...</app-main>

现在我的问题是,即使我正在通过附加值"test“来更改数据库输入属性"prop”,为什么没有执行ngOnChanges。顺便说一句,我是angular2的新手。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 05:38:40

问题是,这不适用于主要组件/根组件。

这不起作用的原因是,您放置的index.html不是一个角组件。正因为如此,角不会编译这个元素。在运行时,只有在编译期间,角才不会读取属性值,否则,我们的性能就会受到影响。

因此,ngOnChanges钩子方法不适用。

见这个问题:

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

https://stackoverflow.com/questions/38821140

复制
相关文章

相似问题

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