我似乎无法弄清楚为什么样式属性没有得到更新。在我的大型应用程序中,它似乎工作正常。AngularJS ng样式不会随着属性发生变化
angular.module('Model', [])
.factory('SizeModel', function() {
return {
width: 200,
height: 100,
display:"block",
getCombined: function() {
return parseInt(this.width) + parseInt(this.height);
}
};
});
function AlbumCtrl($scope,SizeModel) {
$scope.master = SizeModel;
$scope.$watch("master",function(){
$scope.myprop = { display: $scope.master.display,
backgroundColor: "#333",
width: $scope.master.width+'px',
height: $scope.master.height+'px',
color: "#FFF"
};
});
}
function AnoCtrl($scope,SizeModel) {
$scope.master = SizeModel;
$scope.toggle = function(){
$scope.master.display = "none";
}
}
function EditCtrl($scope,SizeModel) {
$scope.master = SizeModel;
}
http://jsfiddle.net/ganarajpr/C2hRa/4/
这里是一个小提琴这说明我目前所面临的问题。您会注意到,当您更改输入时,宽度和高度在div中得到更新。但风格本身似乎并没有更新。任何人都可以告诉我我在这里做错了什么?
我已经尝试了所有使用$范围在以下情况下
- $适用.. - 抛出一个错误,说明$已经在进行中应用..
- $ rootScope $应用 - 与上面相同。
- 在另一个控制器中监视$的服务中设置另一个变量。 - 没有看到变化。
如果有人能为我解答这个问题,那将会非常酷。如果你能告诉我为什么它没有得到更新,也会很开心。
再次..这解决了我分离到此上下文中的问题。我真的很想知道的是,这两种情况如何不同... – ganaraj
对不起,有两种情况? –
我得到了我的答案..实际上,它甚至解决了我的一些老问题:)非常感谢...对于答案:) – ganaraj