当前位置:  开发笔记 > 编程语言 > 正文

在角度组件中使用$ onChanges vs $ onInit

如何解决《在角度组件中使用$onChangesvs$onInit》经验,为你挑选了0个好方法。

使用Controller1vs 之间有区别Controller2吗?

angular.module('app', [])
.component('foo', {
    templateUrl: 'foo.html',
    bindings: {
        user: '<',
    },
    controller: Controller1, //Or Controller2
});

function Controller1(){
    this.$onInit = function(){
      this.user = angular.copy(this.user);
    };

    this.$onChanges = function(changes){
      if(changes.user && !changes.user.isFirstChange()){
        this.user = angular.copy(changes.user.currentValue);
      }
    };
}


function Controller2(){
    this.$onChanges = function(changes){
      if(changes.user){
        this.user = angular.copy(changes.user.currentValue);
      }
    };
}

我为什么要$onInit在我可以做同样的事情$onChanges并保存一些行时烦恼?

这种类型的初始化是否更好,$onChanges并且$onInit对于其他类型的初始化更好?

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有