2014-08-29 24 views
7

Senaryo
Onlar hakkında bilgi içeren kullanıcıların bir dizi var, biliyorum her kart göreli kapsamını tutarak bir HTML kullanıcı kartını üreten özel bir yönergesi ile birlikte bir ng-repeat, bireysel kullanıcı için, kullanıcı modeli içinde, şablon derlenmeden önce özel bir filtreyle filtrelenmem gereken bir değer vardır, çünkü eğer şablonun içinde yaparsam filtrelenmesi gereken süre, araç ipucunun gösterilmemesini sağlar. Değer hazır ve bir şey çalışmıyor gibi görünüyor.angularjs - yönergesi Kontrolörün içinde kullan özel filtre

Kodum şu ana kadar

// 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 

cevap

21

filterprovider enjekte deneyin ve filtreyi çalıştırın.

controller: ['$scope', '$filter', function($scope, $filter) { 
     var fromNowFilter = $filter('fromNow'); 
     angular.forEach($scope.user.reminders, function(reminder) { 
      reminder.last_sent = reminder.last_sent === null ? 'No reminder has been sent!' : fromNowFilter(reminder.last_sent); 
     }); 
    }], 
+0

Sadece o çalıştı ama yine de, ben Açısal [belgeler] takip etmeye çalışıyorum aynı hata almaya (https://docs.angularjs.org/guide/filter), benim anlamadığım sen gerektiğidir Filtre adınızı, filtre uygulamak için filtre ile yapıştırın. – CupOfJoe

+0

@CupOfJoe Evet de işe yarayacaktı .. Uygulamanızdaki filtre için script'i yüklediğinizden emin misiniz? – PSL

+0

Evet, bunu şablonun içinde test ettim ve işe yarıyor, ancak direktifleri denetleyicinin içine enjekte edemiyor. – CupOfJoe

İlgili konular