我正在尝试从我的组件(accordion-list)向路径发送动作(similation)。在我的组件中,我们有一个带有输入和按钮的表单,该组件位于模拟模板中:
templates/simulation.hbs
{{accordion-list simu=model action="save"}}
并在我的组件中..
templates/components/accordion-list.hbs
<form class="form-horizontal" {{action "save" on="submit"}}>
{{input value=model.name type="text"}}
<button type="submit" class="btn btn-default">Simulation</button>
</form>
在app/components/accordion-list.js
中,我必须定义一个动作,将其发送到路线:
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
save: function() {
this.sendAction('action');
}
}
});
在这里我的路线,我也创建了相同的动作来保存我的模拟名称:
routes/simulation.js
import Ember from 'ember';
export default Ember.Route.extend({
actions: {
save: function() {
//Create New Simulation
var newSimu = this.store.createRecord('simu', {
name: this.get('model.name')
});
newSimu.save();
}
}
});
当我点击我的按钮时,应用程序会向我发送一条这样的恐怖消息:
Uncaught TypeError: adapter[operation] is not a function
我使用适配器适配器将表单保存在localstorage中:
adapters/simulations.js
import ApplicationAdapter from './application';
export default ApplicationAdapter.extend({
createRecord: function() {
this.localStorage.set('simu', []);
}
});
我的代码有什么问题,我已经尝试了所有可能性,但它永远不会有效。我需要帮助。