Angularjs路由不适用于1.5.6版

时间:2016-06-09 20:37:39

标签: angularjs angularjs-ng-route

这段代码与cdn https://ajax.googleapis.com/ajax/libs/angularjs/1.2.3//angular-route.min.js完全一致 但不是https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6//angular-route.min.js
问题在哪里?
config.js

    var mainApp = angular.module("mainApp", ['ngRoute']);
    mainApp.config(['$locationProvider','$routeProvider',function($locationProvider,$routeProvider)
    {
    //  $locationProvider.hashPrefix('!');
    $routeProvider
          .when('/home', {
              templateUrl: 'home.html',
              controller: 'StudentController'
          })
          .when('/viewStudents', {
              templateUrl: 'viewStudents.html',
              controller: 'StudentController'
          })
          .otherwise({
              redirectTo: '/home'
          });
    }]);

2 个答案:

答案 0 :(得分:0)

好吧,这可能不会被视为你正在寻找的答案,但我正在努力解决同样的问题,从那以后我正在使用 $ stateProvider 这就像魅力一样

语法非常相似

angular

    .module('app.routes', ['ionic'])
    .config(routing);

function routing($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/home')

    $stateProvider

    .state('layout', {
        abstract: true,
        templateUrl: 'views/layout.html',
        controller: 'myCtl1',
        controllerAs: 'vm',
        bindToController: true,
    })

    .state('login', {
        url: '/login',
        cache: 'false',
        templateUrl: 'views/login.html',
        controller: 'myCtl2',
        controllerAs: 'vm',
        bindToController: true,
    })

等等

答案 1 :(得分:0)

请参阅$location

从1.3开始,您需要指定基本网址。并删除路线中的/,即:

.when('/viewStudents' should be .when('viewStudents'
<head>
  <base href="/">
  ...
</head>

或者将requireBase设置为false

$locationProvider.html5Mode({
  enabled: true,
  requireBase: false
});

在1.3之前,当你部署到根上下文时你会有什么工作 - 但是不能在子上下文中工作。