从不同视角应用角度滤波器&调节器

时间:2015-01-04 20:13:50

标签: javascript angularjs

我是一个有角度的新手,如果问题标题不是很有帮助,请原谅我。

我有一个带有ng-repeat的div我想要执行过滤器,但过滤后的元素存在于单独的视图中,并使用过滤器按钮中的单独控制器。

在目标网页上,我有一个执行此操作的按钮:

<div class="evaweb-nav" ng-controller="mainCtrl"> <div class="view-indicator" ng-click="actionFilter = { userFavorite : 'true' };"> </div>

我想要过滤的元素存在于一个单独的视图中。使用routeProvider的libraryCtrl

<div class="video-item" ng-repeat="chirp in chirps | filter: actionFilter | filter: categoryFilter | filter: searchFilter"></div>

如果我将actionFilter替换为{ userFavorite : 'true' },它可以正常工作,但否则无效。

我也尝试将其放入工厂内,并将其注入libraryCtrl(见下文)

demoApp.factory('filterFactory', function() {
    var actionFilter = { userFavorite : 'true' };

    var factory = {};
    factory.getFilter = function() {
        return actionFilter;
    }

   return factory;
});

libraryCtrl能够阅读actionFilter,但它没有将其应用于视图中的过滤器。我几乎没有动作,我应该以不同的方式构建它吗?我做错了什么?

加成

actionFilter在factory和mainCtrl中定义;

ng-repeat出现在libraryCtrl中。

工厂注入了libraryCtrl和mainCtrl,(我希望这会允许libraryCtrl访问mainCtrl的范围)

0 个答案:

没有答案