【发布时间】:2013-12-23 03:32:30
【问题描述】:
我的设置:
想象一个购物车的控制器:
app.controller('CartCtrl', function ($scope) {
$scope.data = [
{
id:0,
title:'article1'
},
{
id:1,
title:'article2'
}
];
$scope.countItems = function(){
var num = 0;
for(var i in $scope.data){
num++
}
return num;
}
});
在页面某处使用:
<ul ng-controller="CartCtrl">
<li ng-repeat="item in data">{{item.title}}</li>
</ul>
其他地方我想显示购物车中的商品数量:
<div cart-item-number>{{countItems()}}</div>
为了连接数据,我使用了一个指令:
app.directive('cartItemNumber', function() {
return {
restrict: 'A',
controller: 'CartCtrl'
};
});
我的问题:
在页面加载时会显示正确的数字。但是,如果我从数据对象中删除或添加项目,cart-item-number 不会更新。
我该如何解决这个问题?
【问题讨论】:
标签: javascript angularjs data-binding angularjs-directive angularjs-scope