Ember 无法从模板到组件获取 select 值
Ember could not get select value from template to component
我正在为此苦苦挣扎。我想将 select 值从模板传递到组件。
这是我的模板
<select name="bank" class="form-control" id="sel1" onchange={{action "updateValue" value="bank"}}>
{{#each banks as |bank|}}
<option value={{bank.id}}>{{bank.name}}</option>
{{/each}}
{{log bank.id}}
</select>
这是我的组件
import Ember from 'ember';
export default Ember.Component.extend({
store: Ember.inject.service('store'),
banks: Ember.computed(function() {
return this.get('store').findAll('bank');
}),
didUpdate() {
const banques = this.get('banks');
const hash = [];
banques.forEach(function(banque) {
hash.push(banque.get('name'));
});
Ember.$(".typeahead_2").typeahead({ source: hash });
},
actions: {
expand: function() {
Ember.$('.custom-hide').attr('style', 'display: block');
Ember.$('.custom-display').attr('style', 'display: none');
},
updateValue(selectedValue) {
this.set('bank.id', selectedValue);
},
login() {
console.log(this.get('bank.id'));
}
}
});
我遇到了这个漂亮的错误:属性 设置失败:找不到路径 "bank" 中的对象或已将其破坏。
有什么想法吗?谢谢
当您使用 value
属性时,您需要指定要从第一个参数 (event
) 中检索的正确 属性 名称。在您的情况下,您刚刚提到了 bank
- 在 event
对象中找不到。这就是该错误的原因。
onchange={{action "updateValue" value="target.value"}}
内部组件
updateValue(selectedValue) {
this.set('bank.id', selectedValue);
},
我正在为此苦苦挣扎。我想将 select 值从模板传递到组件。 这是我的模板
<select name="bank" class="form-control" id="sel1" onchange={{action "updateValue" value="bank"}}>
{{#each banks as |bank|}}
<option value={{bank.id}}>{{bank.name}}</option>
{{/each}}
{{log bank.id}}
</select>
这是我的组件
import Ember from 'ember';
export default Ember.Component.extend({
store: Ember.inject.service('store'),
banks: Ember.computed(function() {
return this.get('store').findAll('bank');
}),
didUpdate() {
const banques = this.get('banks');
const hash = [];
banques.forEach(function(banque) {
hash.push(banque.get('name'));
});
Ember.$(".typeahead_2").typeahead({ source: hash });
},
actions: {
expand: function() {
Ember.$('.custom-hide').attr('style', 'display: block');
Ember.$('.custom-display').attr('style', 'display: none');
},
updateValue(selectedValue) {
this.set('bank.id', selectedValue);
},
login() {
console.log(this.get('bank.id'));
}
}
});
我遇到了这个漂亮的错误:属性 设置失败:找不到路径 "bank" 中的对象或已将其破坏。
有什么想法吗?谢谢
当您使用 value
属性时,您需要指定要从第一个参数 (event
) 中检索的正确 属性 名称。在您的情况下,您刚刚提到了 bank
- 在 event
对象中找不到。这就是该错误的原因。
onchange={{action "updateValue" value="target.value"}}
内部组件
updateValue(selectedValue) {
this.set('bank.id', selectedValue);
},