javascript - 将参数传递给 Web 组件以在类中使用失败

标签 javascript css polymer font-awesome

我在 中有以下代码工作正常的元素:

<i class="fa fa-user"></i>

但是,我想更改 基于参数的图标。所以我将该行更改为:

<i class="fa fa-{{icon}}"></i>

然后我将以下属性添加到 Polymer 元素:

icon: {
    type: String,
    value: 'user'
}

按原样运行,甚至不尝试传递不同的值,只是让它使用默认值 'user' ,它无法正确呈现。 DOM 只有这个:

<i class="style-scope widget-iconblock"></i>

我已经尝试了一些其他的东西,包括替换整个 <i>{{i}} 标记然后让它返回类似于 "<i class='fa fa-" + self.icon + "'></i>" 的计算值但这呈现了文字。

我做错了什么?

最佳答案

将属性绑定(bind)到 native 属性需要 Polymer's attribute-binding syntax (即,class$="{{prop}}"):

<head>
  <base href="https://polygit.org/polymer+1.7.0/components/">
  <script src="webcomponentsjs/webcomponents-lite.min.js"></script>
  <link rel="import" href="polymer/polymer.html">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css">
</head>
<body>
  <x-foo></x-foo>

  <dom-module id="x-foo">
    <template>
      <i class$="fa fa-{{icon}}"></i>
    </template>
    <script>
    HTMLImports.whenReady(function() {
      Polymer({
        is: 'x-foo',
        properties : {
          icon: {
            type: String,
            value: 'user'
          }
        }
      });
    });
    </script>
  </dom-module>
</body>

关于javascript - 将参数传递给 Web 组件以在类中使用失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39838881/

相关文章:

polymer - 滑动激活核心抽屉面板?

javascript - 更改具有相同功能的多个切换按钮标签之一 - polymer

javascript - 如果正在输入输入文本'空隐藏标签,按下按钮时显示标签

javascript - MySQL 事件每 5 分钟更新一次

javascript - 禁用/启用按钮 - jquery

javascript - 使用 CSS 在单击元素时创建 iPhone 样式滑出

polymer - JUnit 格式化测试输出

javascript - 从 Nodejs 获取子进程的进度输出

jquery - 自定义滚动条 - 小于默认值

javascript - 如何通过 style.position 改变元素的位置?