问题
I am using a view to bind data to a contentEditable div using the code found in the answer to this question: Ember and HTML5 contenteditable property
I have a property a.b.c that I'm binding it to like so:
{{view App.ContenteditableView valueBinding="a.b.c"}}
This correctly updates a.b.c when I type in it, and it updates itself when I modify a.b.c. However, It does not update when I change a to a different object. That is, the text box needs to update when a or b changes, not just when c changes.
How is this done?
回答1:
Ember already supports this if you properly use the built in setters.
if a extends Ember.Object a.set('b', { c: 'asdf'}) if a is a POJO Ember.set(a, 'b', { c: 'asdf'}).
Additionally using valueBinding isn't necessary, you can just write value=a.b.c
In the provided example I set the text box to a.b.c
App.IndexRoute = Ember.Route.extend({
model: function() {
return {
a:{
b:{
c:'dog'
}
}
};
},
actions:{
change: function(){
Em.set(this.currentModel, 'a', {b:{c:'fdasdf'}});
}
}
});
Example: http://emberjs.jsbin.com/toticame/1/edit
来源:https://stackoverflow.com/questions/24127862/binding-on-view-with-dependency