2017-09-08 9 views
0

ポリマー1.0では、ポリマーアイディアがコンストラクタによって作成されたかどうかを検出する可能性がありました。ファクトリイムプル(factoryImpl)という名前の要素が作成されたときにトリガされた機能です。ポリマー2.0でのfactoryImplementation

ポリマー2.0でも同じことをやってはいけません。コンストラクタを使って要素を作成すると、標準関数がトリガされて何かが行われるはずです。誰もこれを前にして、それを行うヒントを与えることができますか?

どうもありがとう

答えて

1

あなたはコンストラクタを使用することができます。

 
class TestEle extends Polymer.Element { 
     static get is() { return 'test-ele'; } 
     constructor() { 
     super() 
     console.log('created') 
     } 
//... 

あなたは、あなたが以下のコメントどおりTestEle

 
<test-ele> </test-ele> // created 
or 
document.createElement('test-ele') // created 
or 
new TestEle() // created 

//編集を作成するたびにログに記録さ 'を作成' を参照すべきです。

2.0の従来のfactoryImplに相当する情報は見つかりませんでした。しかし、試してみることができる回避策があります。

 
class TestEle extends Polymer.Element { 
     static get is() { return 'test-ele'; } 
     constructor(c) { 
     super() 
     console.log('created') 
     if(c) { 
      console.log('created using constructor') 
     } 
     } 
... 
 
<test-ele> </test-ele> // created 
or 
document.createElement('test-ele') // created 
or 
new TestEle(true) // created and created using constructor 
+0

はい、右thatsの!しかし、私はコンストラクタが、私は、新しいTestEle()コマンドで要素を作成したときにのみ起動され、このソリューションを使って手でドキュメントツリーに書き込むことで要素を作成するときではなく、コンストラクタが毎回トリガされるようにしたい書いてください!それはあなたが書き留めている最後の2つの方法でのみトリガされるべきです – steke

+0

私は従来のfactoryImplが2.0でサポートされているとは思わない しかし、あなたがコンストラクタを使って要素が作成されたかどうかを確認するための回避策があります。 )。更新された答えを確認してください。 –

+1

ありがとうございましたこれはまた私のアプローチでした、私はそこでより良いアプローチ – steke

関連する問題