【问题标题】:Angularjs routing not working with version 1.5.6Angularjs 路由不适用于 1.5.6 版
【发布时间】:2016-10-10 16:21:59
【问题描述】:

这段代码与 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'
          });
    }]);

【问题讨论】:

    标签: angularjs angularjs-ng-route


    【解决方案1】:

    好吧,这可能不被视为您正在寻找的答案,但我一直在为同样的问题而苦苦挣扎,从那时起我就开始使用 $stateProvider,它就像一个魅力 p>

    语法非常相似

    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,
        })
    

    等等

    【讨论】:

      【解决方案2】:

      $location

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

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

      或者将 requireBase 设置为 false

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

      在 1.3 之前,您所拥有的在部署到根上下文时可以工作,但在子上下文中不起作用。

      【讨论】:

        猜你喜欢
        • 2016-12-07
        • 1970-01-01
        • 1970-01-01
        • 2018-01-07
        • 1970-01-01
        • 2013-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多