AngularJS 入门6-路由

AngularJS 入门6-路由

 

AngularJS 路由允许我们通过不同的 URL 访问不同的内容。

通过 AngularJS 这个NG的路由模块可以实现带有多视图的单页面开发

实例:

//HTML部分

<body ng-app='routingDemoApp'>
  <h2>AngularJS 路由应用</h2>
  <ul>
    <li><a href="#/">首页</a></li>
    <li><a href="#/computers">电脑</a></li>
    <li><a href="#/printers">打印机</a></li>
    <li><a href="#/blabla">其他</a></li>
  </ul>
  <div ng-view></div>
 
  <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
  <script src="http://apps.bdimg.com/libs/angular-route/1.3.13/angular-route.js"></script>
</body>

解析:

1当点击链接href="#/computers",会调用对应的 $routeProvider.when 函数

2使用 ngView 指令:<div ng-view></div>,会将不同的内容显示在div内,实现单页面的多视图开发

3需要载入实现路由的 js 文件:angular-route.js

 

//JS部分

<script>
  angular.module('routingDemoApp',['ngRoute'])
        .config([ '$routeProvider' ,  function($routeProvider){
            $routeProvider
            .when('/',{template:'这是首页页面'})
            .when('/computers',{template:'这是电脑分类页面'})
            .when('/printers',{template:'这是打印机页面'})
            .otherwise({redirectTo:'/'});
        } ]);
</script>
解析:

通过使用 configAPI,我们请求把$routeProvider注入到我们的配置函数并且使用$routeProvider.whenAPI来定义我们的路由规则。

1使用AngularJS 模块的 config 函数用于配置路由规则

angular.module('routingDemoApp',['ngRoute'])

        .config([ '$routeProvider' ,  function($routeProvider){...} ]);

2配置 $routeProvider用来定义路由规则

第一个参数是 URL 或者 URL 正则规则,第二个参数为路由配置对象。

路由配置对象语法规则如下:

$routeProvider.when(url, {

    template: string,

    templateUrl: string,

    controller: string, function array,

    controllerAs: string,

    redirectTo: string, function,

resolve: object<key, function>

});

参数说明:

template:

如果我们只需要在 ng-view 中插入简单的 HTML 内容,则使用该参数:

.when('/computers',{template:'这是电脑分类页面'})

 

templateUrl:

如果我们只需要在 ng-view 中插入 HTML 模板文件,则使用该参数:

$routeProvider.when('/computers', {

    templateUrl: 'views/computers.html',});

以上代码会从服务端获取 views/computers.html 文件内容插入到 ng-view 中。

views/computers.html代码:

<div>

  <div>华硕</div>

  <div>戴尔</div>

  <div>联想</div>

  <div>惠普</div>

  <a href="#/">返回</a>

</div>

 

controller:

functionstring或数组类型,在当前模板上执行的controller函数,生成新的scope

 

controllerAs:

string类型,为controller指定别名。

 

redirectTo:

重定向的地址。

 

resolve:

指定当前controller所依赖的其他模块。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值