基于属性的聚合物RTL文本

瓦利德·阿玛(Walid Ammar)

在我的项目中,我需要支持阿拉伯语和英语,为此,请执行以下操作:

<div class="{{ {'align-right': currentLanguageCode == 'ar'} | tokenList }}">{{languages[currentLanguageCode].supervisorName}}</div>

上面的行将在每个文本渲染中重复。

因此,我认为如果可以执行以下操作会更好:

bilingual-text.html

<polymer-element name="bilingual-text" attributes="languageCode">
    <template>
       <content></content>
    </template>
    <script>
        Polymer({
            languageCodeChanged: function() {
                if (this.languageCode == 'ar') {
                    // add .align-right class.
                } else {
                    // remove .align-right class.
                }               
            }
        })
    </script>
</polymer-element>

然后

<bilingual-text languageCode="ar">{{languages['ar'].supervisorName}}</bilingual-text>

有什么办法可以实现这样的东西吗?

比比尔

聚合方式

但是,一种聚合的方法是reflect: true在发布languageCode属性使用这样,您可以根据此attr和/或它的值来设置此元素的样式:

:host([languageCode="ar"]) {
  direction: rtl;
}

这是一个工作示例:

<script src="http://www.polymer-project.org/platform.js"></script>
<script src="http://www.polymer-project.org/polymer.js"></script>

<polymer-element name="bilingual-text" attributes="languageCode">
    <template>
       <style>
         :host {
           display: block;
         }
         :host([languageCode="ar"]) {
           direction: rtl;
         }
       </style>
       <content></content>
    </template>
    <script>
        Polymer({
            publish: {
              languageCode: {value: null, reflect: true}
            }
        });
    </script>
</polymer-element>


<bilingual-text>I'm LTR</bilingual-text>
<bilingual-text languageCode="ar">I'm RTL</bilingual-text>

传统方式

定义languageCodeChanged()并调用:

this.classList.toggle('align-right', this.languageCode == 'ar');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于属性的聚合物RTL文本

来自分类Dev

聚合物搜索从图标输入文本

来自分类Dev

聚合物属性更改功能

来自分类Dev

聚合物:确定何时加载属性?

来自分类Dev

聚合物-动态注册属性

来自分类Dev

聚合物属性更改功能

来自分类Dev

选择了聚合物获取属性标记

来自分类Dev

聚合物设置属性Javascript错误

来自分类Dev

聚合物未解析属性

来自分类Dev

聚合物:基于属性,同一组件的多个模板?

来自分类Dev

聚合物元素未从字符串/文本中注册到聚合物中

来自分类Dev

聚合物元素未从字符串/文本中注册到聚合物中

来自分类Dev

聚合物1.x:访问聚合物对象的所有属性

来自分类Dev

聚合物阴影dom元素的基于类的CSS样式

来自分类Dev

基于聚合物的输入值过滤表

来自分类Dev

聚合物绑定条件属性和评估属性

来自分类Dev

聚合物指针

来自分类Dev

聚合物路线

来自分类Dev

聚合物表达

来自分类Dev

Laravel +聚合物

来自分类Dev

聚合物安装

来自分类Dev

聚合物纸张输入装订始终文本

来自分类Dev

具有默认值的聚合物对象属性

来自分类Dev

复选框的选中属性绑定-聚合物

来自分类Dev

聚合物1.0隐藏的$属性求反运算符

来自分类Dev

聚合物1.x:预加载元素属性

来自分类Dev

聚合物:将属性传递给子元素无效

来自分类Dev

聚合物Web组件属性值未传递

来自分类Dev

如何访问聚合物元素实例的属性或方法