Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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 如何强制propertyChange事件_Javascript_Polymer - Fatal编程技术网

Javascript 如何强制propertyChange事件

Javascript 如何强制propertyChange事件,javascript,polymer,Javascript,Polymer,我有一个大的二维数组,我在其中更新了相应的值,而我的其他聚合物元素不会收到更改通知。我知道原因,我认为我的解决方案是强制进行财产变更,但我不确定 对于这样的模型元素项 <polymer-element name="my-model" attributes="rows"> ... <script> ... this.rows[0][0] = newValue; </script> <my-view rows="{{model.rows}}">

我有一个大的二维数组,我在其中更新了相应的值,而我的其他聚合物元素不会收到更改通知。我知道原因,我认为我的解决方案是强制进行财产变更,但我不确定

对于这样的模型元素项

<polymer-element name="my-model" attributes="rows">
...
<script>
  ...
  this.rows[0][0] = newValue;
</script>
<my-view rows="{{model.rows}}"></my-view>
<polymer-element name="my-view" attributes="rows">
<template>
   <template repeat="{{row in rows}}">
     <template repeat="{{col, i in cols}}">
       {{row[i]}}
     </template>
   </template>
</template>
我是否可以强制执行属性更改事件。我试过

this.rows = this.rows
…和

this.notifyPropertyChanged('rows', this.rows, this.rows)

没有运气。任何想法都将不胜感激。谢谢

第二个模板中有一个错误。因为您使用的是命名作用域,所以第二个模板需要是
{{col,i in row}}

<template repeat="{{row in rows}}">
  <template repeat="{{col, i in row}}">

这对我很有用:


(单击元素->数据更新->模板重新渲染)

有效。谢谢注意:我在“cols”上迭代,它的长度与“row”相同,所以从编程的角度来说,当我最终调用“row[I]”时,它应该无关紧要。但因为我没有使用“行”,聚合物并没有创建一个自动可观察的绑定。既然我看到了这个问题,我希望不要再犯这个错误。我认为这可能是一个错误。如果您有:
this.cols=[“一”、“二”、“三”]
然后
cols
在内部模板的作用域中,并且
{{{col,i in cols}}
应该可以工作。我不明白为什么
行[I]
在一种情况下更新,而在另一种情况下不更新。事实上,即使使用
{{col,i In[1,2,3]}
,绑定也不会更新。有点可疑。这就是说,使用
{{col in row}}
{{col}}
非常简单,应该可以可靠地工作。
<template repeat="{{row in rows}}">
  <template repeat="{{col, i in row}}">