Javascript 将键/值对传递给角度过滤器

Javascript 将键/值对传递给角度过滤器,javascript,html,angularjs,Javascript,Html,Angularjs,我有以下模板代码: <div ng-repeat="entry in entries" ng-bind-html="ctrl.entry_statuses[entry] | createEntryURL"> </div> 现在,createEntryUrl过滤器如下所示: {a: 1, b: 2, c: 3} angular.module('test').filter('createEntryURL', function() { return fun

我有以下模板代码:

<div ng-repeat="entry in entries"
     ng-bind-html="ctrl.entry_statuses[entry] | createEntryURL">
</div>
现在,
createEntryUrl
过滤器如下所示:

{a: 1, b: 2, c: 3}
angular.module('test').filter('createEntryURL', function() {
    return function(entry){
        switch(entry){
            case 1:
                return '<span class="one">' + entry + '</span>'
            case 2:
                return '<span class="two">' + entry + '</span>'
            case 3:
                return '<span class="three">' + entry + '</span>'
        }
    }
});
<span class="one">a</span>
<span class="two">b</span>
<span class="three">c</span>
<div ng-repeat="entry in entries"
     ng-bind-html="ctrl.entry_statuses[entry] | createEntryURL: entry">
</div>

将输入参数传递给过滤器,如下所示

$scope.map[$scope.key]=$scope.value;
$scope.key="";
$scope.value="";

为了将额外的参数传递给自定义的
过滤器
,可以使用如下方法:

{a: 1, b: 2, c: 3}
angular.module('test').filter('createEntryURL', function() {
    return function(entry){
        switch(entry){
            case 1:
                return '<span class="one">' + entry + '</span>'
            case 2:
                return '<span class="two">' + entry + '</span>'
            case 3:
                return '<span class="three">' + entry + '</span>'
        }
    }
});
<span class="one">a</span>
<span class="two">b</span>
<span class="three">c</span>
<div ng-repeat="entry in entries"
     ng-bind-html="ctrl.entry_statuses[entry] | createEntryURL: entry">
</div>
这将产生您所期望的结果:

<span class="one">a</span>
<span class="two">b</span>
<span class="three">c</span>
a
B
C

没有得到多少东西。这个
{a:1,b:2,c:3}
是什么对象?如果可能的话,你能制作小提琴/弹琴吗?@tanmay对象是存储在
ctrl.entry\u status
中的对象。对不起,从来没有试过小提琴/弹琴。@mart1n很高兴我能帮上忙!