У меня есть контроллер, где я получаю значение от hbs, которое отправляет мне выбранное значение страны. Мне нужна эта выбранная страна в модели для вычисления и возврата назад к hbs. Как установить это значение в контроллере и получить его в модели, чтобы я мог вычислить, используя это значение?Передача данных с контроллера на модель в emberjs
ответ
Возможно, для достижения этого могут быть разные подходы. Однако я приведу вам пример, который, надеюсь, поможет вам.
//Controller.js
notes: Ember.computed('model.notes.[]', '[email protected]', function() {
return this.get('model.notes').sortBy('date').reverse(); //This is an example of Computed function which in this case it's sorting notes based on date.
}),
blink: null,
actions: {
taskChangeColor: function() {
this.set('blink', 'blinker'); // this is another example that set new data by action which can be retrive from model and set to property
}
}
или другая вещь, которую вы можете сделать, это использовать функцию компьютерную в самой модели, как
// model.js which is using ember-data and moment
timeZone: DS.attr(), //for example one property coming from server
utcOffsetFormat: Ember.computed(function() {
let time = moment.tz(this.get('timeZone')).format('hh:mm a');
return time;
// using a computed function to instantiate another value based on existing model property which means you can simpley use this property instead of direct one.
})
Кроме того, вы имеете право использовать действие в Route.js вместо контроллера пример будет :
//route.js
actions: {
changeSave: function(step) {
var something = {
contact: this.currentModel,
};
this.currentModel.set('step', something.contact);
this.currentModel.save().then(d => {
// set your alert or whatever for success promise
return d;
}).catch(e => {
console.log(error(e.message));
return e;
});
},
в приведенном выше примере вы можете увидеть, что я установил действие для сохранения заметок в модели, которые легко можно установить() для модели с точно таким же именем свойства, и если вы делаете это Wi Вы получите результат сразу же в своем представлении.
надеюсь, что это может вам помочь. Я рекомендую прочитать Ember-Docs
Я бы сказал, что для вашего требования вам не нужны свойства контроллера для selectedCountryValue. Вы можете сохранить это значение в самой модели.
В маршруте
setupController(model,transition){
this._super(...arguments); //this will set model property in controller.
Ember.set(model,'selectedCountryValue','US'); //you can set default value
}
и внутри контроллера, необходимо создать вычисляемое свойство с зависимыми от model.selectedCountryValue. и вычислить некоторые результаты
result:Ember.Computed('model.selectedCountryValue',function(){
//compute something return the result
}
В шаблоне можно использовать {{model.selectedCountryValue}}
непосредственно.
- 1. Передача данных с контроллера на модель в Joomla 2.5
- 2. EmberJS: Передача данных между маршрутами
- 3. Как перезагрузить модель из дочернего контроллера в emberjs?
- 4. emberjs с использованием «потребностей», но другая модель контроллера пуста
- 5. Передача данных с контроллера вида на tabbarcontrollers
- 6. Передача данных с контроллера на страницу просмотра
- 7. Передача данных с контроллера на другой контроллер
- 8. Передача данных с контроллера на другой контроллер
- 9. Передача данных с контроллера Ajax на Rails
- 10. Передача данных с контроллера на jsp
- 11. AngularJS: Передача данных с контроллера на обслуживание
- 12. Передача данных с контроллера на View - MVC
- 13. Передача данных с контроллера laravel на Modal
- 14. Передача данных с контроллера на PartialView
- 15. Передача данных с контроллера на директиву angularjs
- 16. Может ли «модель» рассматриваться как особое свойство контроллера в EmberJS
- 17. получить модель от другого контроллера в emberjs in view
- 18. Передача связанных моделей с действиями в EmberJS
- 19. Загрузка модель с EmberJS Router
- 20. Передача данных с контроллера на представление в asp.net
- 21. EmberJS: Освежающая модель?
- 22. Передача данных в модель OPL с Java
- 23. emberjs возвратной модель маршрутов
- 24. Инициализация контроллера Emberjs
- 25. EmberJS: Рефакторинг Модель Наблюдатели
- 26. YII: Передача данных в виджет с контроллера?
- 27. Модель подпапки Emberjs fetching
- 28. Сбросить модель emberjs в форме
- 29. Получение модели внутри контроллера emberjs
- 30. Передача данных с контроллера на просмотр без изменения маршрута
Пример кода объяснит ваши проблемы более ясным. Я думаю, вы ищете вычисляемое свойство в контроллере для обновления свойства модели – kumkanillam