将部分URL传递给AngularJS中的自定义过滤器

时间:2016-01-06 19:10:30

标签: javascript angularjs

我有一个JSON数据库,我用控制器和ng-repeat显示的内容。

它运作得很好。

在列表中,我有属于多个类别的项目。

我已经构建了一个自定义过滤器,只显示符合条件的内容。

app.filter('whichCategory', function($location){

    return function(input) {
        var out = [];   
        var path = $location.path();
        var pos = path.lastIndexOf("/");
        var categoryName = path.slice(-pos);

        angular.forEach(input, function(items) {
            if (items.category == categoryName) {
                out.push(recipes);
            }
        })

        return out;
    }
});

过滤器也可以使用静态条件,甚至可以使用categoryName,但在这种情况下,只会显示一个类别中的元素,而不管网址是什么。

任何想法我错在哪里?

1 个答案:

答案 0 :(得分:0)

与此同时,我已经完成了一些调试,问题在于告诉splice从哪一侧切入时的pos变量实现。

我是从右到左而不是相反。

printf调试帮助:D。

var categoryName = path.slice(pos+1);

因为最后的位置" /"角色是左起第11位。

我需要在最后一次" /"因此+1