我正在從路由模板屬性創建一個emberjs組件,我正在傳遞要在模板中顯示的值。但我無法通過對象的括號表示在組件模板中訪問它。如何在車把模板中使用對象的括號表示法?
//route.hbs
{{b-select
options=model.names
valueProp='name'
}}
型號
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.RSVP.hash({
names: [{name: 'abc'}, {name: 'xyz'}]
});
}
});
組分B-選擇HBS文件
<select class="form-control" multiple={{multiple}}>
{{#each options as |option|}}
<option value="{{option}}">{{option[valueProp]}}</option>
{{/each}}
</select>
如果我使用的option.name
代替option[valueProp]
它可以完美運行。我如何動態地通過propery來選擇?爲什麼括號表示法不工作
組件JS文件
import Ember from 'ember';
import fallbackIfUndefined from '../utils/computed-fallback-if-undefined';
export default Ember.Component.extend({
multiple: fallbackIfUndefined(false),
options: fallbackIfUndefined(null),
valueProp: fallbackIfUndefined(0),
actions: {
},
didInsertElement() {
//initialize jquery functions
this.$('select').selectpicker({size: 6});
},
willDestroyElement() {
//remove all events
}
});
我得到的錯誤是
錯誤: ... ALUE =「{{選項:第3行解析錯誤'} {「{{option [valueProp]}} < -----------------------^ 期待'ID','STRING','NUMBER ','BOOLEAN','UNDEFINED','NULL','DATA','無效'
謝謝。它工作完美 – murli2308