2016-09-07 20 views
0

要素に要素を挿入するときに、<my-app>(角2)に問題があります。 私は最初に要素を取得する必要があります<div class="render"></div>私は<script>(コードhtmlを見てください)のjQueryでそれから<div class="render"></div>(例えば<h1> Hello </h1>(HTMLコードを見てください))で書く必要があります。アプリが実行されるとき、コードは<div class="render"></div>に書き込む必要があります。しかし、それは現時点で開始<div class="render"></div>が存在しないために発生しません。 setTimeOutを設定すると動作します(<div class="render"></div>がページに表示されるため)。誰がこの問題を決めるかもしれませんか? P.P. 1つのアプリでJQueryとAngular 2が正しく認識されていませんが、問題を特定する必要があります。スクリプト内の要素を要素に挿入する角2

HTMLコード。

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"> </script> 
    </head> 
<body> 
<my-app>loading...</my-app> 
<script> //there's try to get element '.render' 
    $(document).ready(function(){ 
     $("#render").html('<h1> Hello </h1>'); 
    }); 
</script> 
</body> 
</html> 

角度2 app.component.html

<div class="content"> 
    <div class="container"> 
     <side-bar-left></side-bar-left> 
      <div class="col-lg-8 col-md-8 col-sm-12 col-xs-12paddingMiddle"> 
       <div id="divSidebarRight"> 
        <div class="render"> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 

答えて

0

が.htmlのファイルから要素を試してみて、アクセスしないでください。 AfterViewInitライフサイクルフックを使用してコンポーネントの内部で行います。

Import {AfterViewInit} from '@angular/core' 

次に、この機能にお時間を

ngAfterViewInit(){ 
// jquery here 
} 
+0

感謝をあなたのjqueryのを使用して、あなたのクラス宣言

Class implements AfterViewInit 

にこれを追加します。あなたは私を示唆し、私は少しGoogleとすべての作品を解析した – Lestoroer

+0

それは素晴らしいです!がんばろう! –

関連する問題