Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当组件准备就绪时,如何在Polymer中动态注册新属性?_Javascript_Polymer_Web Component - Fatal编程技术网

Javascript 当组件准备就绪时,如何在Polymer中动态注册新属性?

Javascript 当组件准备就绪时,如何在Polymer中动态注册新属性?,javascript,polymer,web-component,Javascript,Polymer,Web Component,问题 一旦web组件准备就绪,如何在其中动态注册新属性 问题 假设我们有一个简单的web组件,如下所示[1]: <polymer-element name="wc-bridge"> <script> Polymer ('wc-bridge', { publish: { x: 0 }, observe: { x: 'xfn' }, created: function ()

问题

一旦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>
未回答的相关问题


不确定是否可以,因为属性只加载一次

如果我需要这样做,我只使用一个包含映射的属性{key:value}作为值来管理,而不是像字符串这样的基元。然后观察属性并应用逻辑以了解如何处理新值


希望这是有用的

非常感谢@aqquadro,但您可以在上下文中检查您的解决方案对我无效。有帮助吗?非常感谢,Eric。这似乎是我一直在寻找的。我尝试过修改代码,但我发现了与生命周期相关的双重问题。此处的代码[]对此进行了解释。你能看一下吗?Polymer的设计是为了仔细优化原型的绑定/观察,这样你就可以制造出许多高效运行的元件。尝试使用同一个系统进行动态的、每实例的行为将给您带来困难。您说过“当通用属性更改时触发事件”:这很简单,您可以自己实现
attributeChanged
并使用
fire
触发匹配事件。非常感谢。据我所知,你在评论中的建议正是我在这里试图做的[jsbin.com/juvomalavi/1/edit],但我没有得到任何行为。请你看一下我的密码,告诉我哪里错了?
<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>