【问题标题】:Polymer camelCase attributesPolymer camelCase 属性
【发布时间】:2015-03-22 11:45:40
【问题描述】:

我正在用 Polymer 组件围绕 js 库编写一个包装器。基本上,我需要能够为组件分配属性,并将它们转发到 js 对象的实例。

问题在于 Polymer(或一般的 Web 组件?)强制属性名称为小写。

声明元素

<some-element fooBar="baz"></some-element>

通用更改监听器

attributeChanged: function(attrName, oldVal, newVal){
    // attrName -> foobar, which is not a member of someInstance
    this.someInstance[attrName] = newVal;
}

有没有办法得到骆驼大写的名字?也许我可以从原型上的publish 对象创建一个哈希......但是我该如何引用它呢?

【问题讨论】:

    标签: attributes polymer


    【解决方案1】:

    啊哈! publish 实际上在组件实例上可用!这使我可以获取名称并制作从小写到驼峰的映射。

    var map = {};
    Object.keys(this.publish).forEach(function(key){
        map[key.toLowerCase()] = key;
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多