无法让过滤器在 AngularJS 中执行
Cannot get filter to execute in AngularJS
我有一个 ng-repeat 事件,每个事件都有一个日期。我想让用户过滤掉不在两个日期之间的所有事件。我想我会为此制作一个自定义过滤器。
我正在使用 HAML,所以这是我的 HTML 的样子:
%tr{'ng-repeat' => 'event in events | filter:dateRange | event.name'}
好的,现在我的过滤器看起来像这样:
filters.filter('dateRange', function() {
return function(){
var a = 'a';
return a;
};
});
显然我的过滤器还没有真正做任何事情,但是当我在 var a 或 return a 上设置断点时,它永远不会到达。我想这样做,这样我就可以看到此时的上下文,然后编写过滤器。我知道它到达过滤器,因为当我在 filters.filter 上设置断点时,它确实到达了它。为什么不进入函数执行什么?
您必须将表示文本的变量作为参数传递。
例如:
myApp.filter('myfilter',function(){
return function(txt){
return txt = 'a';
}
})
:)
ng-repeat 值应该类似于
%tr{'ng-repeat' => 'event in events | dateRange: event.name'}
使用过滤器时,您需要提供过滤器名称,如果您有过滤器参数,您可以选择在后面跟一个冒号,然后是表达式。
我有一个 ng-repeat 事件,每个事件都有一个日期。我想让用户过滤掉不在两个日期之间的所有事件。我想我会为此制作一个自定义过滤器。
我正在使用 HAML,所以这是我的 HTML 的样子:
%tr{'ng-repeat' => 'event in events | filter:dateRange | event.name'}
好的,现在我的过滤器看起来像这样:
filters.filter('dateRange', function() {
return function(){
var a = 'a';
return a;
};
});
显然我的过滤器还没有真正做任何事情,但是当我在 var a 或 return a 上设置断点时,它永远不会到达。我想这样做,这样我就可以看到此时的上下文,然后编写过滤器。我知道它到达过滤器,因为当我在 filters.filter 上设置断点时,它确实到达了它。为什么不进入函数执行什么?
您必须将表示文本的变量作为参数传递。 例如:
myApp.filter('myfilter',function(){
return function(txt){
return txt = 'a';
}
})
:)
ng-repeat 值应该类似于
%tr{'ng-repeat' => 'event in events | dateRange: event.name'}
使用过滤器时,您需要提供过滤器名称,如果您有过滤器参数,您可以选择在后面跟一个冒号,然后是表达式。