Angularjs 无法在ng重复循环内使用筛选器
是否可以对ng repeat内的值应用筛选器?我试图在循环中剪切长字符串,但Angular忽略了我的过滤器。没有结果。没有错误。没有什么。为什么?Angularjs 无法在ng重复循环内使用筛选器,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,是否可以对ng repeat内的值应用筛选器?我试图在循环中剪切长字符串,但Angular忽略了我的过滤器。没有结果。没有错误。没有什么。为什么? <tr ng-repeat="entry in event.log track by $index"> <td>{{entry.raiseDate}}</td> <td>{{entry.text | cut}}</td> <td>{{entry.sign}
<tr ng-repeat="entry in event.log track by $index">
<td>{{entry.raiseDate}}</td>
<td>{{entry.text | cut}}</td>
<td>{{entry.sign}}</td>
</tr>
angular.module('app.event')
.filter('cut', [function cut() {
console.debug('im here'); // never called
return function(input) {
console.debug(input);
var result;
if ( input.length > 100 ) {
result = input.substring(0, 100) + '...';
} else {
result = input;
}
return input;
};
}]);
{{entry.raiseDate}
{{entry.text | cut}
{{entry.sign}
angular.module('app.event')
.filter('cut',[function cut(){
console.debug('im here');//从未调用
返回函数(输入){
控制台调试(输入);
var结果;
如果(输入长度>100){
结果=输入。子字符串(0100)+'…';
}否则{
结果=输入;
}
返回输入;
};
}]);
我还尝试了预定义的“小写”过滤器,但它在
.filter('cut',[function cut(){
)中的语法错误不起作用。filter('cut',['cut',function(cut){或。filter('cut',function(){
检查
请尝试以下代码:
.filter('cut', ['cut', function(cut) {
console.debug('im here'); // never called
return function(input) {
console.debug(input);
var result;
if ( input.length > 100 ) {
result = input.substring(0, 100) + '...';
} else {
result = input;
}
return input;
};
}]);
或
可以对ng repeat内的值应用过滤器 在您的应用程序中尝试下面的代码
<td>{{entry.text | limitTo: 100 }} {{entry.text > 100 ? '...' : ''}}</td>
{{entry.text | limito:100}{{entry.text>100?'…':''}
是的,这是可能的,你可以尝试使用货币过滤器,你会看到它工作。(回答问题,但不能解决你的问题)我尝试了预定义的“小写”过滤器,但它也不工作。预定义的过滤器需要“ng过滤器”要添加依赖项。是吗?问题不在语法上。预定义的角度过滤器也不起作用。如果您能创建plunkr/jsfiddle
,它将给您更多的响应。
<td>{{entry.text | limitTo: 100 }} {{entry.text > 100 ? '...' : ''}}</td>