Angularjs使用controller as vm方法时$watch的使用

AngularJS 1.2版本中提供了Controller as语法,简单说就是可以在Controller 中使用this来替代$scope,使得Controller 更像一个传统的JS类,相对于$scope的继承树要理解上要简单一些。

我们通常会在控制器中写成var vm = this,来避免this的指向出现问题。

但是由于$watch是绑定在$scope上的方法,所以不能vm.$watch或者this.$watch,而是应该注入$scope,

采用

$scope.$watch("vm.params",function(newVal,oldVal){

console.log(newVal,oldVal);

});

这种写法。

猜你喜欢

转载自www.cnblogs.com/xianxiaobo/p/9317800.html