我是新的角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