HTML
<div ng-app="myApp" ng-controller="mainCtrl">
<div ng-controller="secondCtrl">
<p>Filtering input:</p>
<p><input type="text" ng-model="test"></p>
</div>
<ul>
<li ng-repeat="x in names | filter:test | orderBy:'country'">
{{ (x.name | uppercase) + ', ' + x.country }}
</li>
</ul>
</div>
JS:
<script>
var app = angular.module('myApp', []);
app.controller('mainCtrl', function($scope) {
$scope.names = [
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}
];
});
app.controller('secondCtrl', function($scope) {
});
</script>
In short this filter is not work.
Rule 1 : Model(test) must be in second controller.
Rule 2 : Data and ng-repeat must be in mainCtrl.
Thanks.