Polymer 聚合物在元素间反映功能 我有一个跨元素共享的行为 在一个元素中,我有一个on change=“\u toggle”开关 在第二个元素中,我有与第一个元素相同的代码,没有开关按钮。当开关激活时,它会反射到包含开关的元件
问:如何在所有元素中反映on change=“\u toggle”功能 我的代码: 一,Polymer 聚合物在元素间反映功能 我有一个跨元素共享的行为 在一个元素中,我有一个on change=“\u toggle”开关 在第二个元素中,我有与第一个元素相同的代码,没有开关按钮。当开关激活时,它会反射到包含开关的元件,polymer,Polymer,问:如何在所有元素中反映on change=“\u toggle”功能 我的代码: 一, 语言行为={ 行为:[ 聚合物的应用化行为 ], 特性:{ 语言:{ 值:“sl”, reflectToAttribute:真 }, }, 附:函数(){ this.loadResources(this.resolveUrl('/data/locales.json')); }, _切换:函数(){ this.language=this.$.switch.checked?'en':'sl'; //这个函数有
语言行为={
行为:[
聚合物的应用化行为
],
特性:{
语言:{
值:“sl”,
reflectToAttribute:真
},
},
附:函数(){
this.loadResources(this.resolveUrl('/data/locales.json'));
},
_切换:函数(){
this.language=this.$.switch.checked?'en':'sl';
//这个函数有问题吗?
}
};
二,
:主持人{
显示:块;
}
{{localize('menu_2')}}//这会随着开关的变化而变化
因为每个元素都有自己的行为副本,所以您的方法不起作用。现在我唯一能想到的选择是:
将两个元素保留在一个公共元素中,并在其中更改属性
如果您计划将所有元素放在一个html文件中,则可以在该html文件中更改此功能,并将属性绑定到所有元素
在进一步的搜索中,我发现纸吐司
不允许一次打开多个吐司。它在polymer函数之外声明了一个变量currentToast
,并且在toasts中保持不变。也许你可以看看它的代码,它可能会有所帮助。我有很多超过2个元素,我不能只用一个元素。我想翻译整个应用程序。。。顺便说一句,我使用的不是纸吐司,而是纸拨动按钮。我建议您查看一下它的代码,它可能会给您一些如何实现它的想法。无论如何,如果你想实现本地化,为什么不试试i18n msg
。一个相同的链接。@a1626我想你可能还想看看polymer团队的@Alan是的,这也可以做到,但它仍然是测试版。
<script>
LanguageBehavior = {
behaviors: [
Polymer.AppLocalizeBehavior
],
properties: {
language: {
value: 'sl',
reflectToAttribute: true
},
},
attached: function() {
this.loadResources(this.resolveUrl('/data/locales.json'));
},
_toggle: function() {
this.language = this.$.switch.checked ? 'en' : 'sl';
// This function is the problem?
}
};
</script>