我已经提到了我的HTML。
<div ng-controller="myCtrl">
<input type=text ng-model="name">
</div>
在我的JS文件中
function myCtrl($scope){
$scope.name=//this field comes from DB say 'ABC'
}
我的问题:
当我的html被加载时,它将在文本框中显示“ABC”。哪个好。 现在,如果用户将该名称更改为“XYZ”,那么$ scope.name值为“XYZ”。 所以我需要确定输入值是否已更改。以前的值是“ABC”,现在值是“XYZ”我们怎么能算出它的值是否改变了?
答案 0 :(得分:1)
您可以使用ngChange指令。
<input type="text" ng-model="name" ng-change="change()">
然后,在控制器中,将名为 change 的方法添加到范围:
$scope.change = function () {
console.debug('Changed to ' + $scope.name);
}
答案 1 :(得分:0)
这样做:
function myCtrl($scope){
$scope.$watch('name', function(newValue, oldValue){
});
}
答案 2 :(得分:0)
function myCtrl($scope){
var dbName= 'ABC'; //this field comes from DB say 'ABC'
$scope.name= dbName;
$scope.$watch('name', function(newValue) {
if(newValue != dbName) {
// do something
}
});
}