路由 $routeProvider

路由参数

  1. template:
    如果我们只需要在 ng-view 中插入简单的 HTML 内容,则使用该参数:
    .when('/computers',{template:'这是电脑分类页面'})
  2. templateUrl:
    如果我们只需要在 ng-view 中插入 HTML 模板文件,则使用该参数:
    $routeProvider.when('/computers', {
    templateUrl: 'views/computers.html',
    });
    以上代码会从服务端获取 views/computers.html 文件内容插入到 ng-view 中。
  3. controller:
    function、string或数组类型,在当前模板上执行的controller函数,生成新的scope。
  4. controllerAs:
    string类型,为controller指定别名。
  5. redirectTo:
    重定向的地址。
  6. resolve:
    会在路由成功前执行,并注入到当前控制器中。
    • 用于预加载,防止UI抖动
    • 可以帮助重用控制器
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<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>

<script type="text/javascript">
angular.module('ngRouteExample', ['ngRoute'])
.controller('HomeController', function ($scope, $route) { $scope.$route = $route;})
.controller('AboutController', function ($scope, $route,user) { 
        $scope.$route = $route;
        $scope.name=user.name;
        $scope.age=user.age;
        $scope.email=user.email;
        $scope.user=user;
})
.config(function ($routeProvider) {
    $routeProvider.
    when('/home', {
        templateUrl: 'embedded.home.html',
        controller: 'HomeController'
    }).
    when('/about', {
        templateUrl: 'embedded.about.html',
        controller: 'AboutController',
            resolve:{
                user:['$scope',function($scope){
                    return {
                        name:"perter",
                        email:"826415551@qq.com",
                        age:"18"
                    }
                }]
            }
    }).
    otherwise({
        redirectTo: '/home'
    });
});
</script>

  
</head>

<body ng-app="ngRouteExample" class="ng-scope">
  <script type="text/ng-template" id="embedded.home.html">
      <h1> Home </h1>
  </script>

  <script type="text/ng-template" id="embedded.about.html">
      <h1> About </h1>
  </script>

  <div> 
    <div id="navigation">  
      <a href="#/home">Home</a>
      <a href="#/about">About</a>
    </div>
      
    <div ng-view="">
    </div>
  </div>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容