AngularJs路由继承

Anagular的路由如果放在一个文件,代码量太大而且不易查找对应的层级路由。为解决这一问题,我们只是表面的将本在一个文件的代码分化,但其本质还是一个文件,它是用注入的方式将两个文件链接起来。


路由的继承:如下面例子中,'main.show'状态为'main'状态的子状态,'main.show.add'状态、'main.show.edit'状态、'main.show.look'状态、'main.show.welcome'状态为'main.show'状态的子状态

app.js文件

var routerApp = angular.module('RouterApp', [ 'ui.router', 'MainApp']);


routerApp.run(function($rootScope, $state, $stateParams) {
	$rootScope.$state = $state;
	$rootScope.$stateParams = $stateParams;
});


routerApp.config(function($stateProvider, $urlRouterProvider) {
	$urlRouterProvider.otherwise('/index');
	$stateProvider.state('index', {
		url : '/index',
		views : {
			'' : {
				templateUrl : 'main/html/home.html'
			},
			'login@index' : {
				templateUrl : 'login/html/login.html',
				controller : "LoginController"
			}
		}
	}).state('main', {
		url : "/main",
		templateUrl : "main/html/main.html"
			});
	});

mainApp.js文件

var mainApp=angular.module("MainApp",[]);
mainApp.config(function($stateProvider, $urlRouterProvider) {
	
	$stateProvider.state('main.show', {
		url : '/show',
		views : {
			/*'' : {
				templateUrl : 'main/html/main.html'
			},*/
			'header@main' : {
				
				templateUrl : 'main/html/header.html'
			},
			'menu@main' : {
				templateUrl : 'main/html/menu.html',
				controller : 'menuController'
			},
			'show@main' : {
				templateUrl : 'template/module.html'
			}
		}
	}).state("main.show.welcome",{
		url:"/welcome",
		views:{
		 'show@main' : {
				templateUrl : 'main/html/welcome.html'
		  }
		}
	})
	.state("main.show.add",{
		url:"/add",
		views:{
		 'show@main' : {
				templateUrl : 'book/html/addBookForm.html'
		  }
		}
	}).state("main.show.edit",{
		url:"/edit/:id",
		views:{
		 'show@main' : {
				templateUrl : 'book/html/bookEdit.html'
		  }
		}
	}).state("main.show.look",{
		url:"/look/:id",
		views:{
		 'show@main' : {
				templateUrl : 'book/html/bookDetail.html'
		  }
		}
	});
});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值