2
我試圖將templateUrl
更改爲指向不同的文件,當用戶使用AngularJS
從下拉列表中選擇一個值時。
目前,我有一個SidebarController
與用戶選擇的值設置$rootScope
:
$scope.changeTemplate = function(templateModel){
$rootScope.themeFolder = templateModel;
}
的HTML
<section id='templates'>
<span>Select your template</span>
<div class="btn-group">
<label class="active btn btn-primary" ng-model="templateModel" ng-click='changeTemplate(templateModel)' uib-btn-radio="'t1'">template 1</label>
<label class="btn btn-primary" ng-model="templateModel" ng-click='changeTemplate(templateModel)' uib-btn-radio="'t2'">template 2</label>
<label class="btn btn-primary" ng-model="templateModel" ng-click='changeTemplate(templateModel)' uib-btn-radio="'t3'">Template 3</label>
<label class="btn btn-primary" ng-model="templateModel" ng-click='changeTemplate(templateModel)' uib-btn-radio="'t4'">Template 4</label>
</div>
</section>
然後,我有我的所有路由的一個單獨的文件module.js
內
application.config(["$stateProvider", function ($stateProvider) {
var main = {
name: "MainPage",
url: "/",
title: 'My test Angular Site',
views: {
"mainContent": {
templateUrl: 'modules/main/template/t1/home.html',
controller: "MainPageController"
},
"sidebar":{
templateUrl: "modules/main/template/sidebar.html",
controller: "SidebarController"
}
}
};
$stateProvider.state(main);
}]);
通過defaul你會注意到它被設置爲從t1目錄加載home.html。我希望在用戶選擇不同的模板時動態地進行此更改。
有沒有人有任何想法我可能能夠實現這一目標?
謝謝,
你應該使用動態ng-include像:'
' – Hitmands