2017-02-15 40 views
-2

我目前使用的角度JS路由的概念,並創造了到我的網頁應在某些選項在html中編寫JavaScript代碼是否好?

點擊

當在我的主HTML代碼,我已經包括ng-view

<div ng-view> 
</div> 

首先被路由兩個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> 

當我在第一個html文件中包含jquery代碼時,一切正常。

我只是想知道這是否是正確的和良好的程序,包括HTML代碼中任何JavaScript代碼

+0

爲什麼不是一個單獨的JS文件? – Mairaj

+0

我試圖在單獨的js文件中編寫js代碼,但它在執行時無法找到選擇器,但是當我將代碼包含在相同的html代碼中時,它完美地工作。 – Harish

+4

在正文標籤關閉之前的文件末尾包含js文件。 – Mairaj

回答

2

將行爲和演示文稿合併到同一個文件中是有效的,但不是一個好主意,因爲它違反了概念的分離在應用程序內部以及關注點的分離以及更多是我們選擇angularJs的原因。雖然它會正常工作。有許多向下指向此類似:

  1. 再添頁面權重
  2. 的難度(或者可能是不可能的)微小
  3. 無法遷移或用於其他頁面
  4. 不能被緩存(需求每次頁面加載時間)
  5. 不能被緩存被下載(需要在每次頁面加載時間)
  6. 的擔憂不分離(難以維持)
  7. 要下載

由於您使用的是angularJS,因此要注意的要點如下: 1.客戶端業務邏輯位於注入指令\控制器的服務中。 2. UI邏輯假設放置在控制器中。 3.使用指令進行DOM操作。

控制器應該包含視圖邏輯,但不應該實際引用DOM(只應通過指令引用DOM)。

所以它的一切都取決於你多少延伸可以使你的應用程序可讀性,可維護性,可測試等等

0

試試這個:

添加jQuery庫

<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

相關問題