2017-07-12 10 views
0

同じページ要素を持つ複数のタブがあります。要素の1つに、場所の詳細に基づくマップdivが含まれています。最初のタブを開いてマップを初期化することができました。次のタブを開くと、マップを含むdiv IDが既に初期化されているため、エラーがスローされます。別のタブで各マップの初期化のためにdiv idをユニーク(動的)にする方法はありますか?どんなアイデアが私を助けるだろう!角2:複数のタブに一意のdiv IDを付けるには

+0

、あなたのコンポーネントとHTMLコードを共有することはできますか? –

+0

最後に私はChangeDetectorRef.detectChange()メソッドを使って解決しました –

答えて

0

あなたはその後、[id]="getUniqueId()"で設定することができ、完全にユニークなIDを生成するには、この機能を使用することができます。

getUniqueID(): string { 

    let d = Date.now(); 

    if (window.performance && typeof window.performance.now === 'function') { 
     d += performance.now(); 
    } 

    const id = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => { 

     const r = (d + Math.random() * 16) % 16 | 0; 

     d = Math.floor(d/16); 

     return (c === 'x' ? r : (r&0x3|0x8)).toString(16); 
    }); 

    return id; 
    } 
関連する問題