我是新的角js。我发现了一个问题,但我不知道为什么。有人能为我解释吗?万分感谢。
下面是我的html文件:
<div ng-controller="index">
<input type="text" ng-model="factor" /> {{product}}
</div>
下面
是我的js文件:
angular.module("root", [])
.controller("index", ["$scope", function($scope) {
$scope.factor = 6;
$scope.product = $scope.factor * 2;
}]);
当我输入更改为5,产品的价值不更新为预计10
,但如果我改变了这样的代码下面,一旦产品价值更新为我改变输入
HTML:
<div ng-controller="index">
<input type="text" ng-model="factor" /> {{product()}}
</div>
JS:
angular.module("root", [])
.controller("index", ["$scope", function($scope) {
$scope.factor = 6;
$scope.product = function(){
return $scope.factor * 2
};
}]);
'$ scope.product'只是'scope'变量的初始化,它是没有得到每次价值变动更新。在'$ scope.product = function'中,消费循环在每次值改变时都会运行。 – Rayon
更好的方法是在'input'上使用'ng-change'并更新范围变量.. – Rayon
@RayonDabre不是它的两种方式绑定,如果模型更改,然后视图也应该更新。 – Jai