Angularjs 不同视图中带过滤器的角度

Angularjs 不同视图中带过滤器的角度,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有一个关于角度和角度UI路由器的问题。我想在引导导航栏中放置一个过滤器,根据当前路线的不同而有所不同。我曾尝试使用Angular UI Router实现此行为,但UI Router不支持跨多个视图共享同一控制器。在他们的文件中,他们没有触及这个话题。请参阅: 我创建了一个具有所需行为的plunker: 关于我的问题:我有没有办法做到这一点?我不一定要用Angular ui Router来实现,如果不使用扩展就可以实现的话,我更愿意这样做 谢谢, Bart您可以创建自定义过滤器,如: myap

我有一个关于角度和角度UI路由器的问题。我想在引导导航栏中放置一个过滤器,根据当前路线的不同而有所不同。我曾尝试使用Angular UI Router实现此行为,但UI Router不支持跨多个视图共享同一控制器。在他们的文件中,他们没有触及这个话题。请参阅:

我创建了一个具有所需行为的plunker:

关于我的问题:我有没有办法做到这一点?我不一定要用Angular ui Router来实现,如果不使用扩展就可以实现的话,我更愿意这样做

谢谢,


Bart

您可以创建自定义过滤器,如:

 myapp.filter('myfilter', function() {
   return function( items, combo) {
    var filtered = [];
     console.log(items, combo);
    angular.forEach(items, function(item) {
       if(item.name == combo){
         filtered.push(item);
       }

    });

    return filtered;
  };
});
现在要传递组合选项以查看,我们可以编写:

 $rootScope.theFilter = '';
我们的桌子看起来像:

<table id="searchTextResults">
  <tr><th>Name</th><th>Phone</th></tr>
  <tr ng-repeat="friend in friends | myfilter:theFilter">
    <td>{{friend.name}}</td>
    <td>{{friend.phone}}</td>
  </tr>
</table>

电话
{{friend.name}
{{朋友.电话}

请参见演示

您可以创建自定义过滤器,如:

 myapp.filter('myfilter', function() {
   return function( items, combo) {
    var filtered = [];
     console.log(items, combo);
    angular.forEach(items, function(item) {
       if(item.name == combo){
         filtered.push(item);
       }

    });

    return filtered;
  };
});
现在要传递组合选项以查看,我们可以编写:

 $rootScope.theFilter = '';
我们的桌子看起来像:

<table id="searchTextResults">
  <tr><th>Name</th><th>Phone</th></tr>
  <tr ng-repeat="friend in friends | myfilter:theFilter">
    <td>{{friend.name}}</td>
    <td>{{friend.phone}}</td>
  </tr>
</table>

电话
{{friend.name}
{{朋友.电话}

请参见演示

我认为您必须使用angulars发布/订阅方法。也许在导航栏控制器和路由控制器之间建立一个通信服务将是最好的方式。我认为您必须使用angulars发布/订阅方法。也许在导航栏控制器和路线控制器之间建立通信服务是最好的方式。谢谢。我接受了您的回答,但不希望为此使用$rootScope。现在,我将按照您的建议实施它,直到找到更好的方法。您也可以将其存储在服务中。谢谢。我接受了您的回答,但不希望为此使用$rootScope。现在,我将按照您的建议实现它,直到找到更好的方法。您也可以将它存储在服务中