AngularJS-使用自定义过滤器和ngClick更新相同的ng repeat
我有一个简单的AngularJS-使用自定义过滤器和ngClick更新相同的ng repeat,angularjs,angularjs-directive,angularjs-scope,angularjs-ng-repeat,angularjs-ng-click,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Ng Repeat,Angularjs Ng Click,我有一个简单的ng repeat。可通过两种方式填充ng reapeat,第一种是键入值并单击提交按钮,第二种是输入值并自动更新列表 我发现的问题是,当用户单击Sumbit时,使用过滤器的ng repeat不会更新 这是一个plunker(键入帮助): HTML: 你知道我如何使用一个单一的ng重复,当用户输入值时,机器人会在点击时更新吗?这是你传递给过滤器的型号名称 它是 {{i.Title} 应该是 {{i.Title} 你有提琴或钢琴吗? <div id="fixed" direc
ng repeat
。可通过两种方式填充ng reapeat
,第一种是键入值并单击提交按钮,第二种是输入值并自动更新列表
我发现的问题是,当用户单击Sumbit时,使用过滤器的ng repeat
不会更新
这是一个plunker(键入帮助):
HTML:
你知道我如何使用一个单一的ng重复,当用户输入值时,机器人会在点击时更新吗?这是你传递给过滤器的型号名称 它是
{{i.Title}
应该是
{{i.Title}
你有提琴或钢琴吗?
<div id="fixed" directive-when-scrolled="loadMore()">
<ul>
<li ng-repeat="i in items | limitTo: limit | filter: search">{{ i.Title }}</li>
</ul>
</div>
<br>
<input ng-model="searchText">
<button ng-click="performSearch(searchText)">Submit</button>
<div>
<strong>Result Search onClick</strong>
<ul>
<li ng-repeat="item in filtered">
<p>{{ item.Title }}</p>
</li>
</ul>
</div>
app.controller('MainCtrl', function($scope, $filter) {
$scope.limit = 5;
var counter = 0;
$scope.loadMore = function() {
$scope.limit += 5;
};
$scope.loadMore();
$scope.performSearch = function(searchText) {
$scope.filtered = $filter('filter')($scope.items, $scope.search);
}
$scope.search = function (item){
if (!$scope.searchText)
return true;
if (item.Title.indexOf($scope.searchText)!=-1 || item.Title.indexOf($scope.searchText)!=-1) {
return true;
}
return false;
};
});
app.directive("directiveWhenScrolled", function() {
return function(scope, elm, attr) {
var raw = elm[0];
elm.bind('scroll', function() {
if (raw.scrollTop + raw.offsetHeight >= raw.scrollHeight) {
scope.$apply(attr.directiveWhenScrolled);
}
});
};
});
<li ng-repeat="i in items | limitTo: limit | filter: search">{{ i.Title }}</li>
<li ng-repeat="i in items | limitTo: limit | filter: searchText">{{ i.Title }}</li>