提交时,我在其中一条 Ember route 有一张表格,我只需要刷新该表格,
App.PostController = Ember.ObjectController.extend({
actions: {
submit: function(e){
var comment = this.get("ncomment");
this.set("ncomment","");
var self = this;
$.post('/api/comment.php' , {comment : comment})
.done(function(){
self.refresh();
});
}
}
});
此代码给我一个错误TypeError:self.refresh不是一个函数
我该如何解决这个问题?
最佳答案
要再次进入相同型号的相同路线,您需要在该路线上调用 Em.Route.refresh
方法。要从 Em.Controller
执行此操作,您需要访问该路由。通常,您可以通过 this.get('target')
(在 Controller 内部)来完成。然后, Controller 必须 send
操作到路由: this.get('target').send('actionName')
(该操作必须位于路由的操作哈希中) .
完整示例:
App.IndexRoute = Ember.Route.extend({
actions: {
refresh: function() {
this.refresh();
}
}
});
App.IndexController = Ember.ObjectController.extend({
actions: {
ref: function(){
this.get('target').send('refresh');
}
}
});
jsbin .
关于javascript - 表单提交时的 Ember 刷新路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26354036/