在我的應用程序中,我有一個主控制器,在該控制器的模板/視圖中,我稱第二個控制器爲<div ng-controller="BasketCtrl"></div>
。 但我如何告訴'BasketCtrl'使用某個視圖/模板?如何在Angular中爲子控制器使用視圖?
我不想在我的'$ routeProvider'中使用這個「籃子」,因爲它會在我的網站中使用。
籃子將是每個模板的一部分,顯示購物車的內容。因此,我不想在DIV內創建必要的HTML,這會導致大量代碼的重複...我可能在這裏遇到錯誤嗎?
在我的應用程序中,我有一個主控制器,在該控制器的模板/視圖中,我稱第二個控制器爲<div ng-controller="BasketCtrl"></div>
。 但我如何告訴'BasketCtrl'使用某個視圖/模板?如何在Angular中爲子控制器使用視圖?
我不想在我的'$ routeProvider'中使用這個「籃子」,因爲它會在我的網站中使用。
籃子將是每個模板的一部分,顯示購物車的內容。因此,我不想在DIV內創建必要的HTML,這會導致大量代碼的重複...我可能在這裏遇到錯誤嗎?
我會創建一個籃子指令。類似這樣的:
app.directive('basket', function(){
return {
templateUrl: 'basket-template.html',
link: function(scope, element, attr){
}
}
});
然後,您可以將其包含在任意數量的模板中,只要您願意。在這裏閱讀更多關於指令的信息:http://docs.angularjs.org/guide/directive
只需將BasketController模板添加到您添加ng控制器的div的內部即可。它是一個嵌套模板。
<div ng-controller="BasketCtrl">
<!-- put template inside of basketctrl -->
</div>
或者,如果你想另一個文件裏面你basketctrl,你可以做一個NG-包括您BasketCtrl的內部,包括一個鏈接到該模板:
<div ng-controller="BasketCtrl">
<div ng-include="'foo/bar/BasketTemplate.html'">
</div>
一定要同時使用那裏有雙引號和單引號。否則它將無法工作。
這將做到!謝謝! – Joel
根據您是否要重用它,制定指令將是一個好主意。如果你不打算重用它,可能沒有意義。 – frosty
@aaronfrost他正在重複使用它。 「籃子將是每個模板的一部分,顯示購物車的內容」 –
當然也是一個好主意! – Joel