我會用指令允許多個控制器,重新使用代碼第1頁和第2頁之間,併爲遷移角2
您的網頁準備會是什麼樣子:
<section1></section1>
<section2></section2>
<section3></section3>
<section4></section4>
,你將不得不爲每個部分寫一個指令:
module.directive('section1', function() {
return {
scope: {},
bindToController: {
},
controller: function() { },
controllerAs: 'vm',
template: `
<div>This is section1
</div>
`
}
});
下面是一篇文章,approximate module in Angular 1.x
如果您有興趣使用打字稿,這裏是一個tutorial that includes two pages with 2 shared sections using directives如上所述。查看接近結尾的部分,稱爲'帶共享指令的示例頁面'。該教程包括一個github repository。 在該教程,第1頁看起來像
h1 page1
page1-section1
page1-section2
而且,第二頁共享相同的部分:
h1 page2
page2-section2
page2-section1
第1頁和第2頁之間的控制器非常相似,並且使用相同的創建部分標籤/共享指令(DigiSection1.Section1Directive):
angular
.module('digiangularjs.page1', [])
.controller('agendaController', Page1Controller)
.directive("page1Section1", [() => new DigiSection1.Section1Directive()])
.directive("page1Section2", [() => new DigiSection2.Section2Directive()])
;
而對於第二個頁面,我們使用相同的指令,但
angular
.module('digiangularjs.page2', [])
.controller('page2Controller', Page2Controller)
.directive("page2Section1", [() => new DigiSection1.Section1Directive()])
.directive("page2Section2", [() => new DigiSection2.Section2Directive()])
;
我會使用2個狀態(兩個頁面),不同的視圖(對於部分),每個視圖將是一個指令。 – MayK
儘管通常不建議,但您可以使用ngController指令而不是在Routing上定義頁面控制器。我會這樣。 –
@MayK:謝謝,你的意思是說,兩個頁面都只有一個控制器,對吧? – Anamadeya