我有我的指令内部ng-repeat,它在初始加载时有效,但是当我动态添加modelItem时,我得到了我的指令属性的未定义值。
<li ng-repeat="item in item_list track by $index">
<count-down-timer id="item.id" nowdate="item.nowdate" enddate="item.duedate"></count-down-timer>
</li>
.directive('countDownTimer',['$http', function($http) {
return {
restrict: 'AEC',
template: "<div class='float-left googlefont font-32'></div>",
replace: true,
scope: { id: '=' , nowdate: '=', enddate: '='},
link: function(scope, element, attrs) {
var slct = "#c"+scope.id;
var slct2= "c"+scope.id;
element.attr("id", slct2);
$(slct).coconut({ //coconut jquery plugin, settingsCode});
}
};
}]);
我也尝试用$ watch解决这个问题,例如:
scope.$watch('enddate', function(edate) {
console.log("end date observe before: " + edate);
scope.edate = edate;
});
但每当我添加单个项目时,此代码打印将结束item_list中的所有项目(不是预期的只有一个添加的项目)。