私は整数の配列を受け取るフィルタ1が必要です。フィールドタイプのカスタムフィルタ配列を選択
<select class="form-control"
ng-model="vm.data.form.idService"
ng-options="service.idService as
service.title for service in vm.data.services
| filter: {active: 'true'}
| inArray:vm.data.form.servicesIds:'idService'"></select>
私のカスタムフィルタは次のとおりです。{{11,12}}が、動作していない:
angular.module('mainApp').filter('inArray', function($filter){
return function(list, arrayFilter, element){
if(arrayFilter){
return $filter("filter")(list, function (listItem) {
for (var i = 0; i < arrayFilter.length; i++) {
debugger;
if (arrayFilter[i][element] == listItem[element]){
return true;
}else{
return false;
}
}
return true;
});
}
};
のvar vm.data.form.servicesIds結果があります。
このフィルタの目的は、T-SQLのように配列し、フィルタを受信する:
SELECT * FROM SERVICES WHERE IdService in (11,12)
ERROはこれです:
angular.js:13550 Error: [$injector:unpr] Unknown provider: inArrayFilterProvider <- inArrayFilter
http://errors.angularjs.org/1.5.5/$injector/unpr?p0=inArrayFilterProvider%20%3C-NaNnArrayFilter
at http://localhost/Gvisa.Web/assets/lib/angular.js:68:12
at http://localhost/Gvisa.Web/assets/lib/angular.js:4458:19
at Object.getService [as get] (http://localhost/Gvisa.Web/assets/lib/angular.js:4611:39)
at http://localhost/Gvisa.Web/assets/lib/angular.js:4463:45
at Object.getService [as get] (http://localhost/Gvisa.Web/assets/lib/angular.js:4611:39)
at http://localhost/Gvisa.Web/assets/lib/angular.js:19531:24
at isStateless (http://localhost/Gvisa.Web/assets/lib/angular.js:14236:12)
at findConstantAndWatchExpressions (http://localhost/Gvisa.Web/assets/lib/angular.js:14293:33)
at http://localhost/Gvisa.Web/assets/lib/angular.js:14247:7
at forEach (http://localhost/Gvisa.Web/assets/lib/angular.js:322:20)
(anonymous) @ angular.js:13550
は、事前に
ありがとうございましたセミコロンは、この有効な構文です解く: "()" Julo0sS @ – Julo0sS
はありません間違っています? –