2017-08-15 3 views
0

私はdom-repeatでビューを作成するオブジェクトの配列を持っています。このビューでは、配列要素のプロパティを増加させるボタンがあります。 しかし、この後はビューが更新されません。 は更新するpolymer2を知らせるために彼らの方法です:ここでPolymer2:domの繰り返しで生成された配列要素のビューを更新します

は、コードのビットは、次のとおりです。

 <template id="filterElementList" is="dom-repeat" items="{{filterElements}}"> 
      <div style="display: flex;"> 
       <filter-panel-element style$="margin-left: {{_computeLevel(item.level)}}px;"></filter-panel-element> 
       <i class="fa fa-arrow-circle-left" aria-hidden="true" on-click="_decreaseLevel"></i> 
       <i class="fa fa-arrow-circle-right" aria-hidden="true" on-click="_increaseLevel"></i> 
      </div> 
     </template> 

JS:

 _increaseLevel: function (e) { 
      e.model.item.level++; 
     }, 

私は要素のレベルプロパティが、ビューを更新します更新されていません...

+0

それぞれの要素で塊を作成できますか? –

答えて

1

テンプレートがfilterElementsにバインドされており、itemウィジェットのサブプロパティをインクリメントしようとしていますあなたのarray

要素の配列のプロパティおよび/またはサブプロパティを更新するときにdata.pathを指定する必要があります。

ので、これを試してみてください。

  • e.model.set('item.level',e.model.item.level+1)

ポリマーは、この自社のデータシステムのマニュアルに記載している、そしてそれは、ポリマーは、イベント通知を伝播し、またデータの変異を観察することができます。

あなたの配列と要素を使ってplunkを作成することができれば、より簡単にトラブルシューティングを行うことができます。

上記のコードが変更されても、希望する結果が得られない

+0

e.model.set( 'item.level'、e.model.item.level + 1); は完全に動作します –

関連する問題