[英]How can use a filter in my AngularJS precisely on an ng-bind?
我試圖使用這個簡單的過濾器:
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
我該怎么做才能糾正它?
感謝您的協助。
看着錯誤,
錯誤:[$ injector:unpr]未知提供程序:CutFilterProvider <-CutFilter <-UpFileController
看來您正在嘗試將Cutfilter
注入名為UpFileController
的控制器中。 請從UpFileController
刪除Cutfilter
注入。
最后,我創建了自己的服務,像這樣:
'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;
}
.
.
.
我更改了我想要直接從回調中返回數據的內容,以便能夠更早地解析文件名。
感謝您的幫助和文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.