【发布时间】:2017-03-15 03:46:27
【问题描述】:
我想创建这样的架构:
导航栏状态必须始终插入,它有我们的模板和控制器。
Content 状态必须根据 URL 路径插入模板和控制器。示例:
mysite.com/ 将 main.html 和 mainCtrl.js 插入 Content 状态。
mysite.com/articles 将articles.html 和articlesCtrl.js 插入Content 状态。
我的实际尝试:
//app.js
var app = angular.module('myApp', [
'ui.router',
'ngCookies',
'myApp.content',
'myApp.main',
'myApp.navbar',
'myApp.articles',
]);
app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('index', {
url: '/',
views: {
'navbar': {
templateUrl: 'templates/navbar.html',
controller: 'navbarCtrl'
},
'content': {
templateUrl: 'templates/content.html',
controller: 'contentCtrl'
}
}
})
//contentCtrl.js
angular.module('myApp.content', ['ui.router'])
.config(['$stateProvider', function ($stateProvider) {
$stateProvider
.state('content.main', {
url: '/',
views: 'templates/content/main.html',
controller: 'mainCtrl'
})
.state('content.articles', {
url: '/articles',
views: 'templates/content/articles.html',
controller: 'articlesCtrl'
}
}])
.controller('contentCtrl', ['$scope', function ($scope) {
}
]);
//index.html
<body ng-app='myApp'>
<div ui-view="navbar"></div>
<div ui-view="content"></div>
</body>
//content.html
<h1>Content template</h1>
<ui-view></ui-view>
我看到导航栏和内容状态,但主要和文章没有加载到内容状态。
如何创建这种模式?
【问题讨论】:
标签: angularjs angular-ui-router