Я попытался использовать этот простой фильтр:
App.filter('MyCutFilter', function ()
{
return function(input)
{
return input.replace(/^.*[\\\/]/, '');
};
})
На элементе ng-repeat:
<tr ng-repeat="jf in ctrl.Files" class="tablerow">
<td><span ng-bind="jf.id"></span></td>
<td><span class="filename" ng-bind="jf.FileName | MyCutFilter"></span></td>
Но я получил следующую ошибку:
Ошибка: [$ injector: unpr] Неизвестный поставщик: CutFilterProvider <- CutFilter <- UpFileController
Что я могу сделать, чтобы исправить это?
Спасибо за вашу помощь в adavance.
наконец, я создал свой собственный сервис следующим образом:
'use strict';
App.factory('UtilsService', [function(nameTable){
return {
parseTheseNames: function ParseThesesNames(nameTable){
for (var i=0; i < nameTable.length; i++)
{
//console.log(d[i].upFileName);
nameTable[i].upFileName = nameTable[i].upFileName.replace(/^.*[\\\/]/, '');
//console.log("obj " + d[i].upFileName);
}
}
};
}]);
И я использую его вот так:
App.controller('FileController',[..., 'UtilsService',...,
function(..., UtilsService, ...){
.
.
.
function(d){
UtilsService.parseTheseNames(d);
self.upFiles = d;
}
.
.
.
Я изменил то, что хотел получить возврат данных непосредственно из обратного вызова, чтобы иметь возможность анализировать имя файла ранее.
Спасибо за помощь и документацию.
Глядя на ошибку,
Ошибка: [$ injector: unpr] Неизвестный поставщик: CutFilterProvider <- CutFilter <- UpFileController
Похоже, вы пытаетесь ввести Cutfilter
в контроллер под названием UpFileController
. Пожалуйста, удалите Cutfilter
инъекцию из UpFileController
.
MyCutFilter
- это не то же самое, чтоCutFilter
- вы это понимаете?