Javascript 未更新AngularJS筛选器表达式

Javascript 未更新AngularJS筛选器表达式,javascript,html,angularjs,filter,Javascript,Html,Angularjs,Filter,我正在处理两个HTML文件和一个控制器。在一个HTML文件中,我有一个搜索栏: <a ui-sref="allSubmissions"> <input id="searchBar" ng-controller="submissions" ng-model="searchString" class="searchBar" type="text" placeholder="Search"> </a> 当我在搜索栏中单击时,它会将我带到新页面,显示从n

我正在处理两个HTML文件和一个控制器。在一个HTML文件中,我有一个搜索栏:

  <a ui-sref="allSubmissions">
    <input id="searchBar" ng-controller="submissions" ng-model="searchString" class="searchBar" type="text" placeholder="Search">
</a>

当我在搜索栏中单击时,它会将我带到新页面,显示从ng repeat填充的所有内容,然后我想通过在搜索栏中键入来过滤内容。当我将搜索条形码与内容放在同一位置时,这确实有效。如何全局更新“searchString”,以便过滤器在更改时作出响应?谢谢

您可以从一个控制器使用广播,然后在另一个控制器中收听。如果使用多个路由,则需要将搜索词存储在服务中

例如:


在我的控制器中,我有以下范围变量
。。。哪个控制器?“提交”,两个HTML文件中的ng控制器中的一个。我一定会试试这个。如果我用同一个控制器呢?如果你用同一个控制器,你就不必广播搜索了。您只需要从同一控制器绑定searchString。但是如果您使用的是路由,那么您仍然需要从服务中存储和获取searchString。我明白了。现在我只使用一个控制器,它不工作,但我使用的路线。因此,我想我会储存并从服务中提取
<div class="container" ng-controller="submissions">
    <ul class="subsList">
        <ul>
            <li ng-repeat="item in submissionCollectionTest | filter: searchString" class="submissionDivider hover">
                <span class="ageText">{{item.age}}</span>
                <span class="submissionsText">{{item.submission}}</span>
                <span class="descriptionText">{{item.description}}</span>
            </li>
        </ul>
    </ul>
</div>
myApp.controller('submissions',function($scope){


$scope.searchString = '';
function SearchSubmissionsCtrl($rootScope,Service) {
     var vm = this;
     vm.searchString = Service.searchString;
     vm.search = search;

     function search() {
        Service.searchString = vm.searchString;
        $rootScope.$broadcast('search', vm.searchString);
     }
  }

  function SubmissionsCtrl($scope,Service) {
     var vm = this;
     vm.searchString = Service.searchString;
     vm.items = [{
        age: 22,
        submission: 'Yes',
        description: 'Yo'
     }, {
        age: 5,
        submission: 'Derp',
        description: 'Hey'
     }];

     $scope.$on('search', function(e, string) {
        vm.searchString = string;
     })
  }

  function Service() {
    var service = {
        searchString: null
     };

     return service;
  }