2016-06-29 5 views
0

大きなJSオブジェクトを含むポリマー<parent-element>があります。ポリマーの参照によってオブジェクトのプロパティを渡す

この<parent-element>の範囲内では、どちらも大きなJSオブジェクトを消費するN <child-element>があります。

大きなJSオブジェクトをプロパティとして<child-element>に渡すと、「深い」コピーが作成されます。

// in <parent-element> 
<div> 
    <child-element id="child1" largeobject="{{largeobject}}"></child-element> 
    <child-element id="child2" largeobject="{{largeobject}}"></child-element> 
    //... 
</div> 

参照によって要素を渡すのがベストプラクティスですか?

プログラムで<child-element>に添付してください。

// in <parent-element> 
ready: function(){ 
    this.$.child1.largeobject = this.largeobject; 
} 

ありがとう!

+1

私はそれが参照を渡すかなり確信しています。なぜそれが深いコピーを作成すると思いますか? –

+0

ええ、物事を修正するためにthis.set、this.pushなどを使用することを推奨しているからです。また、this.setやthis.pushなどを使用する唯一の理由は、ビューを更新するために他の要素に通知することです。 私はそれをテストするためにjsbinを配置します – Nicolas

+0

通知はこのAPIの理由とまったく同じです。このようにして、Polymerは値を繰り返し比較して変更をチェックする必要はなく、多くのパフォーマンスを得ることができます。 –

答えて

0

すべてがすでに構文を使用して参照することによって起こっている:

// in <parent-element> 
<div> 
    <child-element id="child1" largeobject="{{largeobject}}"></child-element> 
    <child-element id="child2" largeobject="{{largeobject}}"></child-element> 
    //... 
</div> 

https://jsbin.com/fozotu/edit?html,console,output

関連する問題