ui-router

在AngularJS中,提供了一种内置的路由服务,ng-router,但该内置路由服务不能完成嵌套路由视图的开发,所以我们通常会使用angularUI提供的ui-router服务。

使用ui-router时,必须要在angularJS的库后再进行引入。

 

ui-view:该指令是将路由的视图展示到该标签内,不同的路由视图会将该标签内的内容替换掉

定义路由:
ui-router的定义方式与ng-router的方式大体相同,只是ui-router监控的是状态;
$stateProvider的state方法定义了路由的id和以JSON对象方式定义的路由地址、路由模板或路由模板地址和该路由使用的控制器

angular.module('app').config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){
$stateProvider.state('main',{
    url: '/main',  //路由路径
    templateUrl: 'view/main.html',  // 路由模板地址
    controller: 'mainCtrl'   //当前路由使用的控制器
})
// 当该无匹配路由时,自动跳转到main路由视图
$urlRouterProvider.otherwise('main');
}])

ui-router传参

当需要通过url地址传递参数时,只需在url属性的后加上/:参数名即可

$stateProvider.state('main',{
    url: '/main/:id',  //id为传递的参数
    templateUrl: 'view/main.html',
    controller: 'mainCtrl'  
})

你可能感兴趣的:(angular)