我刚开始使用ember并试图做一个简单的测试。 其中,也很简单,让我卡住了一些原因,我无法找到答案的任何地方。在不改变路线的情况下从动作函数中加载/重新加载数据
所以我需要从服务器加载数据而不转换到另一条路由,并从submit
动作(或针对该事件的任何其他动作)内执行此操作。
我有一个简单的输入表单,我手动输入一个对象ID和 我希望它被加载,正好在下面。够简单。接缝是角度三分钟的工作。在这里,我只是无法获得路由和控制器之间的沟通。
所以给这个小徽
form submit="submit"
= input type="text" value=oid
button type="submit" Submit
#display
= person
而且这条路
import Ember from 'ember';
export default Ember.Route.extend({
model: {
person: null
},
actions: {
submit: function() {
var oid = this.controllerFor('application').get('oid');
var person = this.store.find('person', oid);
this.modelFor('application').set('person', person);
}
}
});
这是据我能想到。我想单击一个对象的ID提交,我希望该对象加载并显示在div#显示。
那么我做错了什么?什么是正确的做法?
首先,我甚至不知道把这种行为放在哪里?控制器或路由? 如果我把它放在控制器中,我不知道如何刷新模型。如果我把它放在路线上,我坚持以上。如果操作被放置在控制器中,看看如何去做也会很好。
为简单起见我只是做这一切在申请航线,模板,控制器...
谢谢