是否存在一种角度方式来检查模型是否已经改变,因为它是在加载控制器时的初始状态?
我当然可以创建一个变量来存储初始状态并与之进行比较,但是有更优雅的方式吗?
function myController (Service) {
var vm = this;
vm.model = Service.getValue(); // Service sets inital value at controller load
vm.method = function(){
// do something here only if vm.model changed form inital State
}
}
答案 0 :(得分:1)
您可以在范围
上使用$watch
$scope.$watch('vm.model', function (newVal, oldVal) {
If (newVal) doSomething();
}, true);
第二个参数的可选布尔值允许您深入监视变量属性。
确保将$ scope注入控制器
答案 1 :(得分:0)
您应该使用 $ watch 来跟踪变量的所有变化。 在此处查看更多详细信息:https://docs.angularjs.org/api/ng/type/$rootScope.Scope