使用Controller1
vs 之间有区别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
对于其他类型的初始化更好?