我有一系列的ng-repeat
内产生元件的:重新评估通过范围可变后指令的属性改变
<tr ng-repeat="index in elements">
<td ng-click="doSomething(index)" my-tooltip tooltip="isInBasket(index.id) && 'REMOVE FROM BASKET' || 'ADD TO BASKET'" ></td>
</tr>
该指令MyTooltip
期待传递给tooltip
属性的值。
这将首次运行,这意味着执行ng-repeat时。如果该元素已经在购物篮中,则工具提示将具有“从BASKET中移除”的值,否则将具有“添加到BASKET”的值。
的功能定义如下:
$scope.isInBasket = (id){
return _.contains($scope.basket, id)
}
现在,我的代码的其他部分将改变$scope.basket
,所以我假定isInBasket
将被重新评估每当$scope.basket
改变并因此改变值传递给tooltip
属性。
该指令
angular.module("tooltips", [])
.directive("myTooltip", ($parse, $rootScope, $state){
return {
restrict: 'A',
priority: 999,
link: function(scope, elm, attrs) {
tooltip = scope.$eval(attrs.tooltip);
// ....
}
}
})
但是,这并不工作,我敢肯定,我做错了什么或者我失去了一些东西。
我做了编辑也包括指令 – Leonardo 2014-11-21 15:49:42