0

我正在使用 jquery 创建一个示例 todo 应用程序来与 rest api 而不是 ember-data 交谈。代码如下。我可以使用此代码列出和添加待办事项。但是一旦我创建了一条新记录,我必须刷新浏览器才能看到新记录。如何让控制器重新加载模型?

这是路线

App.TodosRoute = Ember.Route.extend({
 model: function() {
  return Ember.$.getJSON("http://localhost:3000/todos");
 }
}); 

这是控制器,我可以在其中添加新的待办事项

App.TodosController = Ember.ArrayController.extend({
actions: {
    addTodo: function(){
        var newTodo=this.get('newTodo');
        this.set('newTodo', '');
        Ember.$.post("http://localhost:3000/todos",{todo: newTodo}));
    }
}
});

这是模板

<script type="text/x-handlebars" data-template-name="todos">
<legend>Todos</legend>
{{input type="text" id="new-todo" value=newTodo placeholder="Todo" action="addTodo" }}

<ul>
{{#each}}
<li><a href='#'>{{todo}}</a></li>
{{/each}}
</ul>
</script>
4

1 回答 1

0

在当前路线模型中添加新的待办事项。

App.TodosController = Ember.ArrayController.extend({
   actions: {
      addTodo: function(){
      var newTodo=this.get('newTodo');
      this.set('newTodo', '');
      self = this
      Ember.$.post("http://localhost:3000/todos",{todo:newTodo}).then(function(response)               {
         self.addObject(response);
     });
   }
 }
});
于 2014-06-16T09:26:01.343 回答