У меня есть приложение Ember.js, и для формы в нем я использую ember-power-select а>. Я уже использовал этот аддон, но у меня возникли проблемы с настройкой элемента selected
. Как говорится в заголовке, я прошу помощи в настройке selected
с помощью функции.
Я хочу установить выбранную переменную с помощью функции, которая извлекает переменную из службы.
Мой компонент выглядит так:
import Ember from 'ember';
export default Ember.Component.
appInfo: Ember.inject.service('app-info'),
languageOption: ['Français', 'English'],
language() {
/*
* In my service appInfo, I have a function called getLocale
* that return the current locale variable.
*/
return this.get('appInfo').getLocale();
},
actions: {
changeLanguage(lang)
{
this.set('language', lang);
}
}
});
И мой шаблон выглядит так:
{{#power-select
selected=language
options=languageOption
searchEnabled=false
onchange=(action 'changeLanguage')
placeholder=language
as |lang|}}
{{lang}}
{{/power-select}}
Как видите, я пытаюсь установить значение selected
с текущим значением locale
, полученным через сервис appInfo
. Все работает нормально, за исключением выбранной части.
В шаблоне вы можете видеть, что "выбрано" – это значение, которое можно задать внутри компонента, за исключением что я не хочу устанавливать значение с жестко запрограммированным значением, а с текущим значением locale.
Каждый совет и/или помощь приветствуются!
this.set('language', lang)
не соответствует варианту, он не сможет выбрать. ember-power-select.com/docs/how-to- использовать-это - person BrandonW   schedule 12.09.2017language() { /* * In my service appInfo, I have a function called getLocale * that return the current locale variable. */ return this.get('appInfo').getLocale(); },
- person maje   schedule 12.09.2017language()
— это функция, а не свойство. Но даже если бы это было так, в документах по выбору мощности говорится, что параметры доступны только для чтения, поэтому новый нельзя объявить. Я проверю это сам и посмотрю, что я могу найти. - person BrandonW   schedule 12.09.2017