angular 1.6 及以上路由無法跳轉問題
阿新 • • 發佈:2019-01-08
angularjs1.6及後面的版本
經常在使用yeoman構建angularjs專案和沒有使用yeoman構建的時候會出現路由無法跳轉的問題
正確的路由應該為:
錯誤的路由為:
原因是因為angularjs1.6後會將位址列
第二個開始及後面的/所拼的地址進行解析因此會出現路由錯誤的情況。
解決此問題只需要在配置路由的地方加上 $locationProvider.hashPrefix('');
即可解決路由地址錯誤的問題。
'use strict'; angular .module('angularApp', [ 'ngAnimate', 'ngCookies', 'ngResource', 'ngRoute', 'ngSanitize', 'ngTouch' ]) .config(function ($routeProvider,$locationProvider) { $locationProvider.hashPrefix(''); $routeProvider .when('/', { templateUrl: 'views/main.html', controller: 'MainCtrl', controllerAs: 'main' }) .when('/about', { templateUrl: 'views/about.html', controller: 'AboutCtrl', controllerAs: 'about' }) .otherwise({ redirectTo: '/' }); });
專案git地址:https://github.com/Chenghongchao/yeoman_angularjs_html.git