Javascript 如何在过滤领域使用angularjs过滤器
控制器Javascript 如何在过滤领域使用angularjs过滤器,javascript,angularjs,angularjs-filter,Javascript,Angularjs,Angularjs Filter,控制器 app.controller('viewUsersController', function($scope, $http, $cookieStore, $modal) { $scope.cardsDisplayModeEnabled = true; $http.get('http://localhost:8080/myapp/user/all?access_token=' + $cookieStore.get("access_token")).
app.controller('viewUsersController', function($scope, $http, $cookieStore, $modal) {
$scope.cardsDisplayModeEnabled = true;
$http.get('http://localhost:8080/myapp/user/all?access_token=' + $cookieStore.get("access_token")).
then(function(response) {
$scope.users = response.data;
});
$scope.filterStarWith = function(level) {
var re = new RegExp('^' + "Supervisor", "i");
return level.tfAccessLevel.match(re);
};
})
HTML
<select ng-controller="viewUsersController" ng-model="user.tfSupervisor.id" name="createSupervisor" id="createSupervisor" class="form-control">
<option ng-repeat="level in users | filter:filterStarWith()">{{level.userFirstName}}</option>
</select>
Table : user
Id username accesslevel
1 John Admin
2 Mark Supervisor
3 Chady Admin
{{level.userFirstName}
表:用户
Id用户名访问级别
1约翰行政
2马克主管
3查迪行政
我必须在选项中列出访问级别为“主管”的选项
谢谢,您可以直接在ng repeat中按访问级别进行筛选
ng-repeat="level in users | filter:{tfAccessLevel:'Supervisor'}"
看看这个答案:您只需使用现有的过滤器选项就可以做到这一点
<select ng-model="user.id" name="createSupervisor" id="createSupervisor" class="form-control">
<option ng-repeat="level in users | filter: { accesslevel: 'Admin' }">{{level.userFirstName}}</option>
</select>
{{level.userFirstName}
由于您将整个数据存储在用户对象范围内,因此您可以访问用户名和访问级别属性 在这个场景中,我看不到创建自定义过滤器的理由,因为这可以由Angular的智能过滤器表达式处理 如果您阅读AngularAPI,则可以在HTML模板绑定中使用过滤器 HTML模板绑定中的过滤器应该是expression、propertyKey或comparator。在您的情况下,只需将过滤器作为
<option ng-repeat="level in users | filter:filterStarWith "{{level.userFirstName}}</option>
这里没有具体的问题细节,也没有简明的问题陈述。阅读后,用所有相关细节更新问题内容。
<option ng-repeat="level in users | filter: {accesslevel: 'Supervisor' }"> {{level.userFirstName}}</option>