我是Ember的新手,所以另一个Ember问题 - 我有一个包含表格的模板。表单包含两个选择对象和一个提交按钮。选择对象是组件。我遇到问题的是在单击提交按钮时获取选择对象的选定值。以下是其中一个选择对象的模板代码:
{{
view
content=relationshipTypes
value=selectedRelationshipType
selection=selectedRelationshipType
prompt="Select Relationship Type..."
}}
以下是select对象的component.js代码:
export default Ember.Component.extend({
classNames: 'btn-group relationship-type-select'.w(),
change: function(event) {
var typeSelected = this.get('selectedRelationshipType');
this.set('selectedRelationshipType', typeSelected);
}
});
在包含提交按钮的模板的route.js中(带有createRelationship的操作):
export default Ember.Route.extend({
model: function() {
return this.modelFor('people.show').get('entityRelationships');
},
setupController(controller) {
this._super.apply(this, arguments);
controller.set('person', this.modelFor('people.show'));
},
actions: {
relationshipEntityTypeSelected: function(type) {
console.log("IN RELATIONSHIPENTITYTYPESELECTED.TYPE");
this.set('selectedRelationshipType');
},
createRelationship: function() {
var fromEmfId = this.modelFor('people.show').id
console.log("FROM EMF ID==>" + fromEmfId);
var toEmfId = "";
var relationshipType = this.get('selectedRelationshipType');
console.log("RELATIONSHIP-TYPE==>" + relationshipType);
}
}
});
所以我想要的是能够在createRelationship函数中获取所选择的关系类型,但到目前为止我一直无法做到。如果有人能告诉我我做错了什么,我将不胜感激。感谢。
答案 0 :(得分:0)
如果您的relationshipTypes只是一个包含值的数组,则在select组件中删除selection=selectedRelationshipType
并仅保留value=selectedRelationshipType
。然后在您的控制器中,您可以键入this.get('selectedRelationshipType')
以获取所选值。