gpt4 book ai didi

javascript - 如何在 Handlebars 模板中使用对象的括号表示法?

转载 作者:行者123 更新时间:2023-11-30 09:51:40 28 4
gpt4 key购买 nike

我正在从路由模板属性创建一个 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],它会完美运行。我如何动态传递属性以进行选择?为什么括号符号不起作用

组件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
}
});

我得到的错误是

错误:第 3 行出现解析错误:...alue="{{option}}">{{option[valueProp]}}<----------------------^期待“ID”、“STRING”、“NUMBER”、“BOOLEAN”、“UNDEFINED”、“NULL”、“DATA”,得到“INVALID”

最佳答案

您可以使用 {{get}}助手:

<option value="{{option}}">{{get option valueProp}}</option>

关于javascript - 如何在 Handlebars 模板中使用对象的括号表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36171210/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com