如何传递 selected from ember-power-select 中的函数
How to pass a function in selected from ember-power-select
我有一个 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}}
如您所见,我正在尝试使用通过服务 appInfo
获得的当前 locale
设置我的 selected
值。除选定部分外,一切正常。
在模板中,可以看到'selected'是一个可以在组件中设置的值,只是我没有想用硬编码设置值,但当前值为 locale.
感谢每个提示 and/or 帮助!
刚刚解决了,我用了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
,这就是您想要做的添加在。
我有一个 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}}
如您所见,我正在尝试使用通过服务 appInfo
获得的当前 locale
设置我的 selected
值。除选定部分外,一切正常。
在模板中,可以看到'selected'是一个可以在组件中设置的值,只是我没有想用硬编码设置值,但当前值为 locale.
感谢每个提示 and/or 帮助!
刚刚解决了,我用了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
,这就是您想要做的添加在。