Я изучаю углы и создаю небольшое приложение. Я использую угловой 1.3.1. Я написал пользовательский фильтр и, прочитав документы, думаю, что я правильно использую синтаксис. Что-то не так с инъекцией зависимости, хотя и я продолжаю получать "Неизвестный поставщик", я не могу рассуждать, что может быть неправильно. Пожалуйста, подскажите мне, почему это не работает, спасибо заранее!
Вот моя функция фильтра:
angular.module('trimWords', [])
.filter('trimWords', function(){
return function(input, words){
if(isNaN(words)) return input;
if(input){
var inputWords = input.split(/\s+/);
if(inputWords.length > words){
input = inputWords.slice(0, words).join(' ') + '...';
}
}
return input;
};
});
И вот я объявлял это в своем приложении и вводил его как зависимость:
(function(){
var myApp = angular.module('myApp',['ngStorage','ngAnimate','ngRoute',
'mainController', 'todoService','formController', 'trimWords']);
angular.module('mainController', [])
.controller('mainController',['$scope', '$localStorage', 'Todos','trimWords', function($scope, $localStorage, Todos, trimWords){
$scope.$storage = Todos.initStorage;
$scope.formData = {};
$scope.formData.text = ' ';
$scope.createToDo = Todos.createToDo
$scope.formData.text = ' ';
$scope.destroyTodo = Todos.destroyTodo;
}])
})();
На вкладке "Сеть" я вижу, что файл загружается должным образом. Что я могу попытаться исправить?
trimWords - это фильтр, а не служба. Если вы хотите, чтобы его вводили в контроллер, выполните одно из следующих действий:
.controller('mainController', function(..., trimWordsFilter, ...) {
(обратите внимание на суффикс Filter
) или
.controller('mainController', function(..., $filter, ...) {
var trimWordsFilter = $filter('trimWords');
Тем не менее, в опубликованном коде контроллер не использует фильтр, поэтому нет причин его вводить.
<h4 ng-bind="todo.text || trimWords: 10"></h4>
. Извините, я подумал, что как только вы прикрепите фильтр к модулю, его можно будет использовать в выражениях ... извините ... мне нужно еще что-нибудь сделать, чтобы использовать его? Спасибо!!!
todo.text | trimWords:10