2015-08-14 42 views
2

我有兩個模型,MyModel和MyOptions。灰燼選擇更改,但我的模型仍然'沒有髒'

MyModel有一個myValue屬性belongsTo('myOption)和myName('string')。

在視圖中,我有一個myName的輸入和一個帶有模型MyOptions的可能值的選擇。

當我選擇一個新的相關行,我期望myModel是'髒'。如果我更改myName,myModel會變得「髒」(正確)。

我在做什麼錯了?

感謝,

See this jsfiddle for the code

window.App = Ember.Application.create(); 
App.ApplicationAdapter = DS.FixtureAdapter.extend(); 

App.IndexController = Ember.ObjectController.extend({ 

}); 

App.IndexRoute = Ember.Route.extend({ 
    model: function() { 
     return Ember.RSVP.hash({ 
      myModel: this.store.find('myModel', 1), 
      myOptions: this.store.find('myOption') 
     }); 
    }, 
}); 

App.MyOption = DS.Model.extend({ 
    name: DS.attr('name') 
}); 

App.MyOption.FIXTURES = [ 
    { name: 'User a', id: 1 }, 
    { name: 'User b', id: 2 }, 
    { name: 'User c', id: 3 }, 
]; 

App.MyModel = DS.Model.extend({ 
    myValue: DS.belongsTo('myOption'), 
    myName: DS.attr('string') 
}); 

App.MyModel.FIXTURES = [ 
    { 
     id: 1, 
     myValue: 2 
    } 
]; 


<script type="text/x-handlebars" data-template-name="index"> 
    <h1>Test</h1> 
    <lablel>My Value</label>{{input value=myModel.myValue.id}} 
    <lablel>My Name</label>{{input value=myModel.myName}} 
    {{view "select" 
     content=myOptions 
     selectionBinding=myModel.myValue 
     optionLabelPath="content.name"}} 

    {{myModel.isDirty}} 
</script> 
+0

也許你會在這裏找到一些答案https://github.com/emberjs/data/issues/ 1367 –

+0

FWIW,'{{view「select」...'已被棄用,並將在2.0中被刪除,所以我會另外嘗試重構這個,所以你不要依賴它們。 – mpowered

回答

0

而不是使用selectionBinding的,你應該使用value

{{view "select" 
    content=myOptions 
    value=myModel.myValue 
    optionLabelPath="content.name"}} 
+0

問題依然存在,我真的嘗試了很多選擇:-(謝謝 – mongeta