使用:
- ember-1.0.0-pre.4.js
- ember-data.jsリビジョン:11
- ハンドルバー-1.0.rc.2.js
説明されている問題を説明するこのjsFiddleをご覧ください。
テンプレートに表示されるアイテムのリストがあります。テンプレートには、コントローラーがコレクションにアイテムを追加し、ページにテキスト入力として表示されるようにするlinkToヘルパーが含まれています。
コレクションへのアイテムの追加は、コントローラーによって行われます。
App.TodoItem = DS.Model.extend({
title: DS.attr('string', { defaultValue: "unknown" })
});
App.Router.map(function () {
this.resource('todo_items')
});
App.TodoItemsRoute = Em.Route.extend({
model: function () {
return App.TodoItem.find();
}
});
App.TodoItemsController = Em.ArrayController.extend({
addTodoItem: function () {
App.TodoItem.createRecord();
}
});
新しいアイテムをリストに表示したい場合は、パラメータをに渡す必要createRecord
があります。そうしないと、アイテムが表示されません。Chromeのインスペクターを使用して同じ動作を再現すると、次のようにアイテムを表示できます。
// Open the jsFiddle http://jsfiddle.net/bazzel/BkFYd/ and select 'result(fiddle.jshell.net) in the inspector, then:
var item = App.TodoItem.createRecord();
// Nothing visible yet.
item.set('title', 'Whatever');
// Now the text input appear with the title as its value.
これは予想される動作ですか?もしそうなら、私はここで何が欠けていますか?