AngularJS路由跳转

AngularJS是一个javascript框架,通过AngularJS这个类库可以实现即较盛行的单页面应用,AngularJS还怀有双向数据绑定的特色,更加适应页面动态内容。

所谓单页面应用就是是当跟一个页面动态加载不同的内容,而此的“跳转”可以知道为是有页面的跳转。

AngularJS是透过改动location地址来促成加载不同的页面内容及指定位置,下面是一个简易应用AngularJS路由来落实页面“跳转”的实例:

 

采用app.config来定义不同的location地址加载不同之页面,并有着独立的控制器;

var app = angular.module('MyApp', ['ngRoute']);
        app.config(function ($routeProvider) {
            $routeProvider
                .when('/', {        //  '/'表示页面初始加载内容;
                    controller: 'homeCtrl',   //控制器
                    templateUrl: '../view/home.html'  //显示的内容
                })
                .when('/reservation',{      //表示地址结尾为reservation时加载的内容;
                    controller: 'reservationCtrl',      
                    templateUrl: '../view/reservation.html'
                })
        });

 使用ng-view来定义动态内容加载的职;

<!DOCTYPE html>
<html lang="en" ng-app="MyApp">
    <head>
        <script src="../angular.js"></script>
        <script src="../angular-route.min.js"></script>

        <script src="../js/main.js"></script>
        <script src="../js/homeController.js"></script>
        <script src="../js/reservationController.js"></script>

        <meta charset="UTF-8">
        <title></title>
    </head>
<body>
<div ng-view>
<!-- 此处为动态加载区域 -->
</div>
</body>
</html>

 上面提到,每个页面都见面时有发生一个独自的控制器,加载页面的以会执行控制器中之函数;

app.controller('homeCtrl',function($scope,$location){    //页面的控制函数;
    $scope.goToUrl=function(path) {        //此方法可以改变location地址;
        $location.path(path);
    }
});

  上述控制器所对应之html页面吗:

<div id="header">
    <p>订餐</p>
</div>
<div class="body">
    <button ng-click="goToUrl('/reservation')" class="bigButton">帮订餐</button>
    <button ng-click="goToUrl('/showList')" class="bigButton">看订单</button>
</div>

 ng-click方法也点击事件实施指定函数方法。

 

转载自本人ITeye链接: http://xiaozhuang0706.iteye.com/blog/2263786

 

 

相关文章