当组件准备就绪时,如何在Polymer中动态注册新属性
How can I dynamically register new attributes in Polymer when a component is ready?
问题
一旦web组件准备就绪,我如何在其中动态注册新属性?
问题
让我们假设我们有一个天真的web组件,如下面[1]所示:
<polymer-element name="wc-bridge">
<script>
Polymer ('wc-bridge', {
publish: {
x: 0
},
observe: {
x: 'xfn'
},
created: function () {
this.publish.y=0;
this.observe.y='yfn';
},
xfn: function (ov, nv) {
console.log ({key:'x', old: ov, new: nv});
},
yfn: function (ov, nv) {
console.log ({key:'y', old: ov, new: nv});
},
});
</script>
</polymer-element>
[1] 。http://jsbin.com/yakisayiwi/1
可以看出,x
是在设计时绑定到xfn
处理程序的属性。我还想在组件准备好后绑定一个新的属性y
。我已经尝试过用我想的更自然的方式,通过丰富publish
和observe
对象来实现这一点,但我的方法不起作用。我想这是因为我在消化那些物体的过程中迟到了。那么,有什么办法可以解决这个问题吗?
上下文
我确实意识到我的目标有点奇怪,但这是有原因的。我正在尝试制作一个桥接组件,该组件在通用属性更改时触发事件,其中事件名称和属性都是在配置时给定的。这里有一个简单的用例:
<wc-bridge x="{{v}}" y="{{v}}"> <!-- x & y are unknown at design time -->
<wc-bridge-event on="x" fire="e1"/> <!-- x & e1 are known by digesting this -->
<wc-bridge-event on="y" fire="e2"/> <!-- y & e2 are known by digesting this -->
</wc-bridge>
未回答的相关问题
http://goo.gl/xzKPKw
不确定是否可以,因为属性只加载一次。
如果需要这样做,我只使用一个包含映射的属性{key:value}作为值来管理,而不是使用类似于基元的字符串。然后观察属性并应用逻辑来了解如何使用新值。
希望这是有用的
相关文章:
- 创建新属性后的 JSON 空属性
- chart.js 2.0为数据集添加了新属性
- 当组件准备就绪时,如何在Polymer中动态注册新属性
- 没有为Ajax添加的新元素注册Jquery事件
- 为for循环中的对象添加新属性
- 复制第一个属性's值,然后使用第一个属性的值创建新属性
- 调用ko.applyBindings后,向Knockout视图模型添加新属性
- 如何向JSON数组添加新属性
- 在对象上迭代并添加新属性
- 在AngularJS中对指令的隔离作用域设置新属性
- 在knocket js中应用绑定后,向视图模型添加新属性
- 护照个人资料未通过新属性
- 如何在 CKEditor 表的单元格属性中添加新属性
- 无法向 Mongoose 查询返回的对象添加新属性
- 有没有办法让 Javascript 在将新属性添加到给定对象时抛出错误
- W3C 设置新属性
- 是否可以向现有 JSON 数据添加新属性
- 使用 contructor 参数将新属性添加到原型
- 如何为 html5 标签创建新属性
- 创建新属性 - JS / 边缘动画