2017-02-15 4 views
-2

私は現在の角度のjsにルーティング概念を使用していると私はまずng-viewhtmlの中にjavascriptコードを書くのは良いですか?

<div ng-view> 
</div> 

が含まれている私のメインのHTMLコードに特定のオプション

をクリックしたとき、私のページをルーティングする必要がありますするには、2つのHTMLファイルを作成しましたhtmlファイル

<h1>This is the first file</h1> 
<script> 
    $(document.ready(function(){ 
     $('h1').click(function(){ 
      $(this).css("color",'red'); 
     ) 
</script> 

セカンドファイル

<p>This is second file</p> 

jqueryコードを最初のhtmlファイルに含めると、すべて正常に動作しています。

私はちょうどそれがhtmlコード内の任意のJavaScriptコードを含めるために正しいと良い手順であれば

+0

なぜない別のJSファイル? – Mairaj

+0

jsコードを別のjsファイルに書き込もうとしましたが、実行時にセレクタを見つけることができませんでしたが、同じhtmlコードにコードを組み込むと完全に動作しています。 – Harish

+4

bodyタグを閉じる直前にjsファイルをファイルの最後に含めます。 – Mairaj

答えて

2

ビヘイビアとプレゼンテーションを同じファイルにマージすることは有効ですが、コンセプトの分離に違反することはお勧めしませんアプリケーション内のrns、および懸念の分離など、angJsを選択する理由があります。それは正常に動作しますが。多くのダウンのポイントは、このようにありますため

  1. 追加ページの重量
  2. 困難(またはおそらく不可能)縮小
  3. が移行できないか、他のページ
  4. をキャッシュすることはできません (ニーズのために使用することが
  5. ページがロードされるたびに)
  6. をキャッシュすることはできません(ページがロードされるたびにダウンロードする必要がある)
  7. 懸念(維持が難しい)
  8. の分離をダウンロードします

angularJSを使用しているため、注目すべき点は です。1.クライアント側のビジネスロジックは、ディレクティブ\コントローラに注入されたサービスに位置します。 2. UIロジックがコントローラに配置されていると仮定します。 3. DOM操作にディレクティブを使用します。

コントローラにはビューロジックを含める必要がありますが、実際にはDOMを参照するべきではありません(DOMの参照はディレクティブでのみ行う必要があります)。あなたのアプリケーションは、読み取り可能な保守性などのテスト可能にすることができ延ばすどのくらいまでの

だから、そのすべてあなた次第...

0

これを試してみてください知りたい:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script> 



$(document).ready(function(){ 
     $('h1').click(function(){ 
      $(this).css("color",'red'); 
     }); 
     }); 

Demo here

jQueryライブラリを追加します。
関連する問題