2017-01-09 6 views
1

テーブルテンプレートが漏洩しています。問題を原因としたコードを1行に示しています。Aurelia考えられるメモリリーク

   <tbody> 
       <tr repeat.for="row of workListData.rows" click.delegate='resultItemClick($event, row)'>     
        <td repeat.for="col of workListData.columns"> 
         <template if.bind='col.name === "isChecked"'> 
          ${col.label} 
         </template> 
         <template if.bind='col.name !== "isChecked"'>    
          **${row.Properties[col.name]}** 
         </template> 
        </td> 
       </tr> 
       </tbody> 

$ {row.Properties [col.name]} これは、この行は、現在の行を取得し、列の値にアクセスするために列名を使用して問題を引き起こすコードのラインである

+1

これを試してみて、それがどんな違いがあれば参照を解決した値を返す

のにそれがサポートされている場合

わかりませんcol.name === 'isChecked'? col.label:row.Properties [col.name]} 'です。両方のテンプレートを削除してください –

+0

もう一度更新する必要がありますが、その行が漏れを止めていたとコメントしていましたが、おそらくそのコードブロックのどこかにその何かがありますか? – Infuser

+0

正確に "漏れていますか? –

答えて

0

enter image description here [OK]を、私は、コードを簡略化する場合、IEはなど、その作業のWebサービスを削除している私は

そのは間違いなく、ネストされたリピート問題から来る

    Leaks 
       <tr repeat.for="row of workListData.rows" click.delegate='resultItemClick($event, row)'>     
        <td repeat.for="col of workListData.columns"> 

        </td> 
       </tr> 

       Does not leak 
       <tr repeat.for="row of workListData.rows" click.delegate='resultItemClick($event, row)'>     

       </tr> 
repeat.forネストされているときアウレリアが漏れているようです予期した通り

私の同僚の一人は、別のテンプレートコントローラをコメントアウトして興味深いことに気付きました。

0

最後に、私はあなたがテンプレートでこれを行う場合は確かに一つのことがオーレリアがあるカップルが漏れるために非常に悪い傾向を持っているように見えるていたようだ漏れを設置

$ {row.Properties [キー]} `$ {:私は今、代わりに関数にオブジェクトとキーを渡し、問題

関連する問題