1
我有一個select元素作爲自定義指令中的模板。它將一個數組作爲參數,但它不被解析。AngularJS不解析模板參數
directive('myFilteringselectelement', function(){
return {
restrict:'E',
template: '<span>{{filters[0][1]}}{{filters[0]}}{{selectfiltercount}}{{filters[selectfiltercount]}}</span><select send-message-select ng-model="myfilter" ng-options="filter.name for filter in {{filters[selectfiltercount]}}>"</select>'
}
}).
二維數組「過濾器」被定義爲:
$scope.filters = [ [{name: 'iron'}, {name: 'tin'}, {name: 'copper'}],
[{name: 'type1'}, {name: 'type2'}, {name: 'type3'}],
[{name: 'road1'}, {name: 'road2'}, {name: 'road3'}],
[{name: 'gwa1'}, {name: 'gwa2'}, {name: 'gwa3'}],
[{name: 'area1'}, {name: 'area2'}, {name: 'area3'}]
];
模板中的跨度是出於測試目的,它工作得很好:
{{filters[0][1]}}
{{filters[0]}}
{{selectfiltercount}}
{{filters[selectfiltercount]}}
但選擇元素ISN效果不好:
<select send-message-select ng-model="myfilter" ng-options="filter.name for filter in {{filters[selectfiltercount]}}>"</select>
在https://docs.angularjs.org/api/ng/directive/select中解釋了ngOptions中的數組參數將起作用。它工作時,我使用的過濾器陣列與一名維例如爲:
$scope.filters = [{name: 'iron'}, {name: 'tin'}, {name: 'copper'}];
但我想用2維數組,以便使用多個選擇指令。當有多個選擇指令時,所有選擇選項都與一維數組相同(最新賦值...)
可能是未解析它的原因是什麼?有任何想法嗎?
乾杯, 阿爾卑斯
這裏是鉻拋出的錯誤日誌:
Error: [$parse:syntax] http://errors.angularjs.org/1.3.8/$parse/syntax?p0=undefined&p1=not%20a%20primary%20expression&p2=null&p3=%5B%7B%22name%22%3ANaNron%22%7D%2C%7B%22name%22%3A%22tin%22%7D%2C%7B%22name%22%3A%copper%22%7D%5D%3E&p4=%5B%7B%22name%22%3A%iron%22%7D%2C%7B%22name%22%3A%22tin%22%7D%2C%7B%22name%22%3A%copper%22%7D%5D%3E
at Error (native)
at http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:6:416
at hb.throwError (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:190:254)
at hb.primary (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:190:6)
at hb.unary (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:197:82)
at hb.multiplicative (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:196:324)
at hb.additive (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:196:182)
at hb.relational (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:196:125)
at hb.equality (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:195:418)
at hb.logicalAND (http://1x7.0.0.1:8000/app/components/javascripts/angular.min.js:195:294) angular.min.js:103
(anonymous function) angular.min.js:103
(anonymous function) angular.min.js:76
$ angular.min.js:70
v angular.min.js:59
g angular.min.js:52
v angular.min.js:59
g angular.min.js:52
(anonymous function) angular.min.js:51
(anonymous function) filter.js:96
n.event.dispatch jquery-2.1.1.min.js:3
r.handle jquery-2.1.1.min.js:3
謝謝你,解決了這個問題:) – alpalp1977