我正在學習一個小示例應用程序的ember.js,並且有最後一塊我無法工作。提交後清除Ember.TextField
我有一個「quips」(推文)列表,並且有一個文本輸入欄允許創建一個新的。在我提交新的推文後,我想清除文本輸入,但無濟於事。我在這裏基本上覆制了todomvc example,它在那裏工作(我甚至使用相同的ember.js和ember-data.js版本來排除這種可能性)。
這裏是模板:
<script type="text/x-handlebars" data-template-name="index">
<h2>Latest Quips</h2>
<div>
{{view Ember.TextField id="new-quip" placeholder="Enter your Quip"
valueBinding="newQuip" action="createQuip"}}
</div>
在適當的控制器動作:
App.IndexController = Ember.ArrayController.extend({
createQuip: function() {
App.Quip.createRecord({
text: this.get('newQuip'),
user: 'ree'
});
this.set('newQuip', ''); // this row should clear the view
this.get('store').commit();
}
});
併爲完整起見型號:
App.Quip = DS.Model.extend({
text: DS.attr('string'),
user: DS.attr('string')
});
App.Store = DS.Store.extend({
revision: 11,
adapter: 'App.QuipsAdapter'
});
App.Quip.FIXTURES = [
{ id: 1, user: 'ree', text: 'Which is the best JS MVC?' },
{ id: 2, user: 'baaz', text: '@ree Definitely Ember.js!' }
];
App.QuipsAdapter = DS.FixtureAdapter.extend({});
的應用runs here。
如果有人能指出我做錯了什麼,我會很高興。
謝謝
巴林特
我沒有使用過emberdata,純粹的餘燼東西看起來很合理。我已經對您的概念進行了基本測試,沒有持久性,並且按照預期清除了該字段。有一件事對我來說看起來有點奇怪,那就是你在清理完該領域之後才進行商店......但是我不明白這會如何導致你的問題。 (另外,this.get('store')。commit()成語不在指南中......但是很多東西不是) – BostonJohn
是的,我浪費了幾小時,遵循指南中的代碼和建議以及原來爲Ember 0.9.x編寫的項目。最後似乎工作的是遵循todomvc示例,因爲它已更新爲1.0.pre ?.只要我的應用程序不會比todolist應用程序更復雜,就可以工作:) –