3.3.1 建立前台v层路由

本章我们要实现学生信息的添加功能,为此在前台我们要新建一个视图和控制器实现我们的信息添加,当然为了能通过URL找到我们的视图,我们要建立一个路由,然后将界面的c层与v层的信息加入其中。这样我们就能通过URL访问到相应的视图和控制器。本节中我们主要讲一下如何为视图配置路由。

我们的路由配置文件为app.js,文件所在路径为webapp/app/scripts/app.js,部分代码如下:

.config(function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl',
        controllerAs: 'main'
      })
      .when('/about', {
        templateUrl: 'views/about.html',
        controller: 'AboutCtrl',
        controllerAs: 'about'
      })
      .otherwise({
        redirectTo: '/'
      });
  });

$routeProvider用来定义路由表,我们会用到里面的whenotherwise两个方法。在本节中我们主要讲when方法,然后用when方法创建一个我们自己的路由。 when方法能够接收两个参数,第一个参数是路由路径,这个路径会与URL中的值进行匹配,如果没有任何一个when方法匹配到,那么将会执行otherwise方法。第二个参数是配置对象,在这里我们用到了templateUrl这个参数。

templateUrl 的值是视图的路径,AngularJS会拿该路径下的html模板来渲染。

下面我们来新建一个视图并为它配置路由:

views文件夹下建一个teacher文件夹,在teacher夹下创建我们的视图文件create.html并写入teacher/create.html如下图。

下面为我们新加的界面配置路由信息。 通常代码的书写顺序为:

1.先写一个when方法

.when()

2.为when方法添加两个参数,第一个参数为路由路径,第二个参数为配置对象,在配置对象中通过参数templateUrl写入视图的路径。

.when('/teacher/create', { templateUrl: 'views/teacher/create.html' })

将上面的代码加入到路由配置文件app.js中后代码如下。

.when('/', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl',
        controllerAs: 'main'
      })
      .when('/about', {
        templateUrl: 'views/about.html',
        controller: 'AboutCtrl',
        controllerAs: 'about'
      })
      .when('/teacher/create', {                  
        templateUrl: 'views/teacher/create.html'  
      })
      .otherwise({
        redirectTo: '/'
      });

测试

在地址栏中输入我们新建的url信息http://localhost:9000/#!/teacher/create,看我们显示的信息是否是我们在create.html中写入的信息。

如图则表示我们的路由添加成功。


作者:朱晨澍

results matching ""

    No results matching ""