0

jquery を使用して、ember-data の代わりに REST API と通信するサンプル todo アプリを作成しています。コードを以下に示します。このコードを使用して Todo を一覧表示および追加できます。しかし、新しいレコードを作成したら、ブラウザを更新して新しいレコードを表示する必要があります。モデルをリロードするようにコントローラーを作成するにはどうすればよいですか?

ルートはこちら

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

これは、新しい 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

現在のルート モデルに新しい todo を追加します。

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 に答える