2017-06-18 22 views
0

私のapp.component.htmlには、スライダを表示するためのコードが含まれています。* ngIfレンダリング後にjavascript関数を呼び出す方法

<div class="slider-pro" id="slider" *ngIf="router.url == '/home'"> 
    <script type='text/javascript'> 
     initSlider(); 
    </script> 
    ... 
</div> 

しかし、angular2フレームワークはjavascriptの行をスキップしているようです。私の質問は、* ngIf DOM要素のレンダリング後にjavascript関数を呼び出す方法です。私はngAfterViewInit()の内部でこの関数を呼び出そうとしましたが、機能しません。 onChangeイベントを追加するには、この関数initSlider()を実行する必要があります。

答えて

1

ngAfterViewCheckedの内部でこの関数を呼び出します。これは、コンポーネントのビューを確認するたびに呼び出されます。

class MyComponent implements AfterViewChecked { 
    ngAfterViewChecked() { 
     //TODO - invoke here 
    } 
} 
+0

あなたの提案に感謝します。私がこれを行うと、javascriptはn回実行されます。 on-changeまたはclickイベントはn回実行されます。さらに、私自身の解決策があります。ありがとう –

関連する問題