angular 路由 ui-router

UI-router

  • 安装:npm install --save angular-ui-router
  • 配置路由状态
angular.module("myApp").config(function($stateProvider,$urlRouterProvider){
           $stateProvider
           .state({
                name:'main',
                url:'./',
                template('
this is a main
') }) .state({ name:'home', url:'/home', template:'

this is home

' }) .state({ name:'about', url:'/about', template:'

Welcome hello

' }) //设置默认跳转 $urlRouterProvider.otherwise('/') } )

多模块、多路由、多控制器 处理方式

  • 引入模块
    
    
    
    
  • 模块依赖
var app = angular.module('myApp', ['ui.router', 'myApp.ctrl1', 'myApp.ctrl2']);
  • 路由配置
app.config(function($stateProvider, $urlRouterProvider) {
        $stateProvider.state({
                name: 'main',
                url: '/my',
                templateUrl: './test.html',
                controller: 'ctrl1'
            })
             /*
            1.设置一个为空匹配 url:'/my'
            2. 在增加一个 路由名字前半部份相同但是后面不同的名字
            * */
            .state({
                name:'my.page',
                url:'/:page'
            })
            .state({
                name: 'home',
                url: '/home',
                templateUrl: './angularjs/app.html',
                controller: 'ctrl2'
            })
            .state({
                name: 'about',
                url: '/about',
                template: '
about
', controller: 'ctrl3' }) $urlRouterProvider.otherwise('/') })
  • $stateParams 获取参数。
    • 在控制器里面注入。能获取地址栏后面跟的参数。
      -
      ui-sref可以用来传递参数

你可能感兴趣的:(angular 路由 ui-router)