2012-12-05 99 views
11

作爲服務器端Web框架用戶(我使用Django),我喜歡模板的組織方式。基本模板的頁面標題,CSS,js,頁眉和頁腳被定義爲塊,並且可以在子模板中重寫。模板在angular.js中 - 繼承

這是什麼角度的做法呢?

每個頁面的內容當然由ng-view提供,除此之外,我不能做太多。標題標籤例如在視圖外,我不能動態改變它。

給我一個全面項目的示例代碼以查看模板的組織方式將是一件好事。大多數示例項目都很小,不需要模板中的繼承。

回答

6

Django的模板非常好,但請記住,Angular主要用於構建SPA(單頁應用程序),因此它在概念上有所不同。在一個典型的Angular項目中,您的服務器端框架將生成基本模板,然後將路由交給Angular進行其他操作,內容部分根據路由進行有條件的包含。

Django和Angular模板之間的一個相似之處是ng-include指令,它允許您吸取可重複使用的html位。但是沒有什麼與Django的{{block}}或{{block super}}系統類似。

你可以寫一個自定義指令來引入額外的css/javascript,而不是使用{{block extrahead}}。

對於動態標題標籤,您需要確保您的控制器元素設置在head元素上方,否則它將超出範圍,從而無法訪問。我們不喜歡這樣的基本模板:

<title data-ng-bind="title">Oursite</title> 

然後在控制爲URL:

$rootScope.title = 'Dashboard | Oursite'; 

的其他this線程建議的方法。

4

看看angular-blocks,它的靈感來自Jade,Handlebars和Django,或者更簡單的ng-layout

+0

我試過使用角塊,掙扎了一個小時但不工作,你能幫我嗎? –