Polymer camelCase 属性
Polymer camelCase attributes
我正在使用 Polymer 组件围绕 js 库编写包装器。基本上,我需要能够将属性分配给组件,并将它们转发给 js 对象的实例。
问题是 Polymer(或一般的 webcomponents?)强制属性名称为小写。
声明元素
<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
对象创建一个散列...但我如何引用它?
啊哈! publish
实际上在组件实例上可用!这使我可以抓取名称并制作从小写到驼峰的映射。
var map = {};
Object.keys(this.publish).forEach(function(key){
map[key.toLowerCase()] = key;
});
我正在使用 Polymer 组件围绕 js 库编写包装器。基本上,我需要能够将属性分配给组件,并将它们转发给 js 对象的实例。
问题是 Polymer(或一般的 webcomponents?)强制属性名称为小写。
声明元素
<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
对象创建一个散列...但我如何引用它?
啊哈! publish
实际上在组件实例上可用!这使我可以抓取名称并制作从小写到驼峰的映射。
var map = {};
Object.keys(this.publish).forEach(function(key){
map[key.toLowerCase()] = key;
});