2012-03-14 4 views
1

Это не похоже на работу http://jsfiddle.net/8haXN/7/Можно ли изменить привязку свойства объекта Emberjs после его создания?

App.president = Ember.Object.create({ 
    name: "Barack Obama", 
    name2: "George Bush" 
}); 

App.country = Ember.Object.create({ 
    presidentNameBinding: 'App.president.name' 
}); 

App.country.set('presidentNameBinding', 'App.president.name2'); 
App.country.presidentName //stil returns 'Barack Obama' 

Что я действительно пытаюсь сделать, это изменить contentBinding из CollectionView от одного ArrayController к другому. Это возможно или это плохая идея?

ответ

0

Вы должны будете вручную связать этот путь:

App.country.bind('presidentName', Em.Binding.from('App.president.name2')); 

Вот jsfiddle: http://jsfiddle.net/efPGF/

Чтобы узнать больше о привязок, я рекомендую, глядя на старую SproutCore вики: http://wiki.sproutcore.com/w/page/12412963/Runtime-Bindings. Не забудьте сменить префикс SC на Ember.

+0

Спасибо за ответ, jsfiddle ссылка не работает так как я обновил его: http://jsfiddle.net/efPGF/1/ –

0

Ember.bind Использование см http://jsfiddle.net/8haXN/8/

App = Em.Application.create() 
App.president = Ember.Object.create({ 
    name: "Barack Obama", 
    name2: "George Bush" 
}); 

App.country = Ember.Object.create({ 
    // Ending a property with 'Binding' tells Ember to 
    // create a binding to the presidentName property. 
    presidentNameBinding: 'App.president.name' 
}); 

App.someController = Em.Object.create({ 
    change: function() { 
     Ember.bind(App, 'country.presidentName', 'App.president.name2'); 
    } 
});​ 
+0

Спасибо за ваш ответ! Приятно знать, что существует множество способов установить/изменить привязку! –

+0

Хотя в моих существующих приложениях Ember.js не было необходимости вручную менять привязку так, как вы просили. Я почти всегда просто изменяю фактическое содержимое контроллера вместо создания новой привязки. Вы просили общий способ изменения привязки или у вас есть конкретная проблема, которую вы хотите решить? – pangratz

Смежные вопросы