我有一个html页面,在页面顶部有一个输入搜索。 在它下面我有一个加载部分的元素。 我正在尝试将搜索绑定到部分。 这一切都有效,如果我把搜索放在部分内部,但出于学习目的,我想要理解为什么它不能在它之外工作,以及我如何让它在局部之外工作。
HTML
<body ng-app="F1FeederApp">
<div id="nav" ng-controller="driversController">
<input id="search" type="text" ng-model="nameFilter" placeholder="Serach" />
</div>
<ng-view></ng-view>
</body>
app JS
angular.module('F1FeederApp', ['F1FeederApp.controllers','F1FeederApp.services', 'ngRoute']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when("/drivers", {templateUrl: "partials/drivers.html", controller: "driversController"}).
otherwise({redirectTo: '/drivers'});
}]);
Controller.js
angular.module('F1FeederApp.controllers', []).
controller('driversController', function($scope, ergastAPIservice) {
$scope.nameFilter = null;
$scope.driversList = [];
$scope.searchFilter = function(driver){
var keyword = new RegExp($scope.nameFilter, 'i');
return !$scope.nameFilter || keyword.test(driver.Driver.givenName) || keyword.test(driver.Driver.familyName);
}
ergastAPIservice.getList().success(function(response){
$scope.driversList = response.MRData.StandingsTable.StandingsLists[0].DriverStandings;
});
});
答案 0 :(得分:0)
我认为主要问题是您已经部分和搜索区域driversController
使用了{{1}}。这使他们成为姐妹瞄准镜。在身体中制作一个控制器,为部分制作一个不同的控制器。