在我的模板中选择此选项会使我的模型变脏并在init上触发观察者,为什么?我希望能够在更改时更新我的模型,但现在我的更新功能在init上被触发,我不想在init上的每个项目上进行api调用。
模板:
{{#each booking in bookings itemController="booking"}}
{{isDirty}} // this is true
{{view "select" content=dateRange value=booking.playingOn optionValuePath="content.date" optionLabelPath="content.day"}}
{{/each}}
控制器:
// this is running on init and when you select something in the select drop down.
updatePlayingOn: function(){
console.log(this.get('currentState.stateName')); // logs root.loaded.updated.uncommitted
}.observes('playingOn')
我已经理解了value = booking.playingOn将playingOn模型属性更新为相同的值并使模型变脏。
答案 0 :(得分:1)
似乎Ember select不能处理javascript对象,在本例中是一个Date对象。使我的对象成为字符串可以解决问题。