2012-10-16 55 views
1

所以我試圖評估AngularJS,因爲我認爲它很有趣,但它與我一直使用的是BackboneJS完全不同。作爲此評估的一部分,我希望瀏覽我現有的Backbone應用程序,並嘗試將它們移植到AngularJS。所以,我有以下的HTML佈局:將HTML分解爲AngularJS的管理模板

<html> 
    <head> 
    </head> 
    <body> 
     <div class="page-wrapper"> 
      <div class="header-wrap"> 
       <ul> 
        <li><a href="#">Ryan Zec</a></li> 
        <li><a href="#">Admin</a></li> 
        <li><a href="#">Logout</a></li> 
       </ul> 
      </div> 
      <div class="content-wrap"> 
       <form> 
        <input type="text" name="username" value="" /> 
        <input type="password" name="password" value="" /> 
        <input type="button" value="Login" /> 
       </form> 
      </div> 
      <div class="footer-wrap"> 
       <span>Copyright &copy; 2012 - Ryan Zec 
      </div> 
     </div> 
    </body> 
</html> 

現在在主幹我會與-wrap類股利空和內容每個部分人會去在一個獨立的模板(每節可能不止一個可能會顯示在其中的模板)。然後將會有一個與每個模板關聯的視圖,以便附加到正確的元素並顯示模板的內容。

現在有了AngularJS,除了指令之外,我們不鼓勵直接DOM操作。所以我想知道在AngularJS中使用相同的設置的最好方法是什麼,我會使用BackboneJS記住這些部分的內容需要根據他們正在查看的頁面/ url切換到不同的內容。 (我知道我可以將ng-directive-name添加到div,所以在初始加載時,它會正確加載,但當頁面切換到單個頁面應用程序時,如何讓它重新加載到不同的數據)。

回答

2

答案是指令:)

您可以使用此 - >http://jsfiddle.net/thaqL/

或只是下載鉻 - >去http://angularjs.org - >按F12鍵 - >看看他們是如何做到的

希望能幫助到你。

歡呼聲

+0

這段代碼不是我遇到的麻煩,但拿這個代碼爲例:http://jsfiddle.net/q7hTg/:我有2個頭控制器和指令,用於不同的數據和html結構。現在,當單擊切換標題鏈接時,我必須做什麼,在沒有重新加載頁面的情況下(如在單個頁面應用程序中)將標題切換爲header2。 – ryanzec

0

我認爲暫時最好的答案是ngInclude。我認爲AngularJS團隊希望在將來使路線更加強大(基於我記憶中的某些內容)(例如,每個路徑有多個視圖,每個視圖應該有一個控制器用於頁眉,一個頁腳控制器和一個控制器主要內容),但直到那時ngInclude應該有希望讓我。