2013-02-05 116 views
1

我正在學習一個小示例應用程序的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

如果有人能指出我做錯了什麼,我會很高興。

謝謝

巴林特

+0

我沒有使用過emberdata,純粹的餘燼東西看起來很合理。我已經對您的概念進行了基本測試,沒有持久性,並且按照預期清除了該字段。有一件事對我來說看起來有點奇怪,那就是你在清理完該領域之後才進行商店......但是我不明白這會如何導致你的問題。 (另外,this.get('store')。commit()成語不在指南中......但是很多東西不是) – BostonJohn

+1

是的,我浪費了幾小時,遵循指南中的代碼和建議以及原來爲Ember 0.9.x編寫的項目。最後似乎工作的是遵循todomvc示例,因爲它已更新爲1.0.pre ?.只要我的應用程序不會比todolist應用程序更復雜,就可以工作:) –

回答

3

它涉及到的jQuery 1.9.0的錯誤 - 嘗試v1.8.x

而且,我還記得,它被固定在主,所以抓住最新的Ember版本也可能解決你的問題。

+0

謝謝Gabor,降級到jQuery 1.8.3實際上解決了這個問題。 –