7
情景
我有一個包含關於它們的信息的用戶的陣列,我做一個ng-repeat
與生成一個HTML用戶卡的自定義指令相結合,保持每個卡相對的範圍對於單個用戶,在用戶模型中,有一個值需要在模板被編譯之前用自定義過濾器進行過濾,因爲如果我在模板內部執行過濾,則需要過濾的時間會使工具提示不顯示,直到該值已準備就緒,看起來好像有些東西不起作用。AngularJs - 指令控制器內使用自定義過濾器
到目前爲止我的代碼
// userCard directive
angular.module('userCard', []).directive('UserCard', function() {
return {
restrict: 'EA',
templateUrl: 'userCard.tpl.html',
scope: {
user: '='
},
controller: ['$scope', 'fromNowFilter', function($scope, fromNowFilter) {
angular.forEach($scope.user.reminders, function(reminder) {
reminder.last_sent = reminder.last_sent === null ? 'No reminder has been sent!' : fromNowFilter(reminder.last_sent);
});
}],
link: function(scope, element) {
// Add the base class to the user card element
element.addClass('user-card');
}
};
});
// fromNow custom filter
angular.module('userCard').filter('fromNow', function() {
return function(date) {
return moment(date).fromNow();
};
});
// The error I keep getting
Unknown provider: fromNowFilterProvider <- fromNowFilter
剛剛嘗試過,但仍然得到相同的錯誤,我試圖按照Angular [文檔](https://docs.angularjs.org/guide/filter),我的理解是,你需要用'Filter'後綴你的過濾器名稱來注入它。 – CupOfJoe 2014-08-29 01:18:26
@CupOfJoe是的,應該工作以及..你確定你已經在你的應用程序中加載過濾器的scipt? – PSL 2014-08-29 01:20:45
是的,我在模板內測試它,它工作,但不能'讓它注入指令控制器。 – CupOfJoe 2014-08-29 01:27:57