我使用模态实例打开一个带有控制器的模态,控制器在主控制器内定义。
var helloControllers = angular.module('helloControllers', []);
helloControllers.controller('ScheduleUpdateCtrl', ['$scope','$routeParams', '$http','$modal',
function($scope,$routeParams, $http, $modal) {
/*--------lines of code-------------*/
$scope.setting=function(){
var modalInstance = $modal.open({
templateUrl: 'ScheduleSettings/ScheduleSettings.html',
controller: ScheduleSettingsCtrl,
/*--- lines of code--------------*/
var ScheduleSettingsCtrl = function ($scope, $modalInstance,$filter,scheduleId,scheduleName,grouplist,devicelist,secondtime)
现在我需要使用列表框的过滤器来排除另一个列表框中包含的项目
<select size=9 ng-model="deviceselected" ng-options="de as de.DEVICE_NAME for de in deviceAllList|exclude"></select>
<select size=9 ng-model="deviceavailable" ng-options="de as de.DEVICE_NAME for de in deviceList"></select>
类似的东西:
filter('exclude',function(){
return function(array){
var out=[];
alert('!');
for(var i=0;i<array.length;i++){
alert(array[i].GROUP_ID);
if(groupList.map(function(e) { return e.GROUP_NAME; }).indexOf(array[i].GROUP_NAME)==-1)
out.push(array[i]);
}
return out;
};
但我不知道在哪里放这些行或在html中使用它。我很无能,所以对demo的帮助会非常感激。
更多详情
更多问题: 过滤器定义应该在哪里?我试过了
helloControllers.filter('exclude',function(){
如何测试过滤器调用是否有效/未定义?我收到了这个错误。
Error: [$injector:unpr] Unknown provider: excludeFilterFilterProvider <- excludeFilterFilter
答案 0 :(得分:2)
试试这个:就像我们在其他一些html元素中使用过滤器一样简单。使用|
的方法可以在ng-options
<select size=9 ng-model="deviceselected" ng-options="de as de.DEVICE_NAME for de in deviceAllList | exclude"></select>
<select size=9 ng-model="deviceavailable" ng-options="de as de.DEVICE_NAME for de in deviceList | exclude"></select>