.controller('MyCtrl', function ($scope) {
$scope.myvar="red";
$scope.update=function() {
$scope.myvar="blue";
console.log($scope.myvar) //correctly displays 'blue'
}
$scope.showvar=function() {
console.log($scope.myvar); //always display 'red', even if the update function has run
}
})
如果我运行更新功能,在其中我可以看到var的正确更新值。
但如果我在运行更新后运行show函数,则显示的值是最初的' red'。
我缺少什么?
非常感谢您提前
答案 0 :(得分:0)
我刚刚测试了您的代码(请参阅JSFiddle)并且效果很好。
以下是代码:
HTML:
<div ng-controller="MyCtrl">
<button ng-click="update()">
update
</button>
<button ng-click="showvar()">
show
</button>
</div>
JS:
var myApp = angular.module('myApp',[]);
myApp.controller('MyCtrl', function ($scope) {
$scope.myvar="red";
$scope.update=function() {
$scope.myvar= $scope.myvar != "blue" ? "blue" : "red";
console.log($scope.myvar) //correctly displays 'blue'
}
$scope.showvar=function() {
console.log($scope.myvar); //always display 'red', even if the update function has run
}
});
检查并尝试找出差异。也许你错过了什么。
希望它会有所帮助。