0

我有一个 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}}

如您所见,我正在尝试使用通过 service 获得selected的电流来设置我的值。除了选定的部分外,一切正常。 在模板中,您可以看到 'selected' 是一个可以在组件内设置的值,除了我不想使用硬编码设置该值,而是使用locale的当前值。 感谢每一个提示和/或帮助!localeappInfo

4

1 回答 1

0

刚刚解决它,我曾经init()使它工作。正如@BrandonW 在评论中所说,计算属性也不起作用。

这是我放入组件中的代码:

***
   init() {
        this._super(...arguments);
        let loc = this.get('appInfo').getLocale();
        if (loc === 'fr')
            this.set('language', 'Français');
        else
            this.set('language', 'English');
    }
***

如果您想使用在 ember-power-select 插件中设置的功能,这就是您想要做的。selected

于 2017-09-12T15:24:18.677 回答