Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 1.0中解除绑定属性_Javascript_Binding_Polymer_Polymer 1.0 - Fatal编程技术网

Javascript 如何在Polymer 1.0中解除绑定属性

Javascript 如何在Polymer 1.0中解除绑定属性,javascript,binding,polymer,polymer-1.0,Javascript,Binding,Polymer,Polymer 1.0,在Polymer 1.0中,我们可以将元素属性绑定到变量: <paper-textarea id='area' value={{some_variable}}></paper-textarea> 目前还不是100%清楚您想要实现什么,但使用聚合物可以实现单向数据绑定 向下绑定: <script> Polymer({ is: 'custom-element', properties: { prop: String // n

在Polymer 1.0中,我们可以将元素属性绑定到变量:

<paper-textarea id='area' value={{some_variable}}></paper-textarea>

目前还不是100%清楚您想要实现什么,但使用聚合物可以实现单向数据绑定

向下绑定:

<script>
  Polymer({
    is: 'custom-element',
    properties: {
      prop: String    // no notify:true!
    }
  });

</script>

...

<!-- changes to "value" propagate downward to "prop" on child -->
<!-- changes to "prop" are not notified to host due to notify:falsey -->
<custom-element prop="{{value}}"></custom-element>

聚合物({
是:“自定义元素”,
特性:{
prop:String//no notify:true!
}
});
...
向上装订:

<script>
  Polymer({
    is: 'custom-element',
    properties: {
      prop: {
          type: String,
          notify: true,
          readOnly: true
        }
    }
  });
</script>

...

<!-- changes to "value" are ignored by child due to readOnly:true -->
<!-- changes to "prop" propagate upward to "value" on host  -->
<custom-element prop="{{value}}"></custom-element>

聚合物({
是:“自定义元素”,
特性:{
道具:{
类型:字符串,
通知:正确,
只读:正确
}
}
});
...

有关详细信息,请查看。

您无法动态绑定和/或解除绑定到Polymer 1.0中的元素属性,因为绑定是在元素注册期间烘焙的,而不是在创建/准备/附加期间烘焙的。参考号

老实说,我不太确定你的用例是什么;但是,您很可能通过a)将
属性绑定到计算函数来实现它;或b)绑定到虚拟变量

<paper-textarea id='area' value={{letsCompute(some_variable)}}></paper-textarea>

...

letsCompute: function (v) {
  //return your logic to bind or unbind
},
...

...
LetsComputer:函数(v){
//返回逻辑以绑定或解除绑定
},
...

Polymer API目前没有将任何方法公开为解除绑定值。也许如果您详细说明您的情况,我们可以为您提供另一种解决方案?我用iron ajax响应绑定了textarea。我试图实现的是定期更新textarea值,但在用户焦点输入时禁用更新(以防止覆盖用户正在输入的数据),我的解决方案是使用on response事件处理响应,并通过标志决定值是否应为updater pr not。在textarea的聚焦/模糊事件中控制标志。
<paper-textarea id='area' value={{letsCompute(some_variable)}}></paper-textarea>

...

letsCompute: function (v) {
  //return your logic to bind or unbind
},
...