如何考虑;命名参数“;在自定义AngularJS过滤器中?

如何考虑;命名参数“;在自定义AngularJS过滤器中?,angularjs,angular-filters,Angularjs,Angular Filters,我正在创建一个定制的角度过滤器,我想提供最接近“命名参数”(一个la Python)的东西,主要用于布尔选项,以避免传递不可读的真/假值序列 如果我只考虑从“原始”JavaScript调用,我将接受某种选项对象: myFilter(someValue, { foo: false, bar: true }); 然而,我希望这是易于使用,从内部太。可以在表达式中传递这样的对象吗?如果不是,或者可能是太糟糕了,那么什么方法更惯用呢?是的,为什么不呢,您可以在过滤器中轻松使用命名参数:

我正在创建一个定制的角度过滤器,我想提供最接近“命名参数”(一个la Python)的东西,主要用于布尔选项,以避免传递不可读的真/假值序列

<>如果我只考虑从“原始”JavaScript调用,我将接受某种选项对象:

myFilter(someValue, {
    foo: false,
    bar: true
});

然而,我希望这是易于使用,从内部太。可以在表达式中传递这样的对象吗?如果不是,或者可能是太糟糕了,那么什么方法更惯用呢?

是的,为什么不呢,您可以在过滤器中轻松使用命名参数:

app.filter("myFilter", function() {
    return function(item, filterConfig) {

        if (filterConfig.foo) {
            // return something
        } else {
            // return something else
        }
    }
});
使用方法:

{{ myValue | myFilter:{foo:false} }}

请参见

我正在寻找从角度表达式中使用过滤器的方法;我更新了我的问题,让这个问题更清楚。你说的“角度表达式”是什么意思?你放在双花括号里的东西;看见有更好的术语吗?是的,您也可以在这里使用它,请参阅编辑的答案和添加的JSFIDLE