如何在Angular.js中搜索不同视图中的项目

时间:2014-04-12 21:28:58

标签: javascript angularjs angularjs-ng-repeat angular-ui

在我家:

.state('home',{
        url: '',
        views: {
           '': {
            templateUrl: 'views/main.html',
            controller:'MainCtrl'
           }
    ...

我遍历了一些书籍,并且还有一个简单的搜索字段来过滤项目:

<input type="text" ng-model="search">
<article class="items" ng-repeat="book in allBooks  | filter: search" >

这有效,但我想在侧边栏中添加输入字段,并将该侧边栏放在一个单独的视图中 - 这样我就不必在每个视图中复制它。所以在我的index.html我有以下代码

 <div ng-include ng-controller="MainCtrl" src="'views/sidebar.html'" class="sidebar"></div>
 <div class="container" ui-view></div>

假设这是一个很好的做法,有没有办法在侧边栏中添加搜索输入字段,并且仍然在主页状态下影响循环?

由于

1 个答案:

答案 0 :(得分:0)

您可以将home状态设置为侧边栏的嵌套视图。您的过滤器在侧边栏视图中绑定的ng模型将可用于主页状态。当本地状态未在其自身范围内找到搜索属性时,将委托给上述边栏范围。

这是我的快速而肮脏的例子: http://plnkr.co/gmUaDLSfJxOL42EPZ9ak