2015年3月17日编辑:似乎这是某种类型的hashbang模式链接重写问题 在迁移说明1.2>上找不到多少1.3关于Hashbang模式的变化,但这是我观察到的:
非常欢迎任何解释!
我有一个简单的设置,用于Angular水疗中心的基本导航和angular-route模块。我使用Angular 1.2.17 成功使用,但使用Angular 1.3.14 失败,因为它会删除尾随/ 。
我实际上是第一次使用Angular 1.3.x工作但是第二次失败。 另请参见plunker示例(相同的代码,一个使用Angular 1.2.x,其他Angular 1.3.x):
我的javascript文件的内容:
var logBookApp = angular.module('LogBookApp', ['ngRoute']);
logBookApp.config(
function ( $routeProvider) {
$routeProvider
.when('/', { templateUrl: 'tmpls/home.tmpl.html', controller: 'HomeCtrl as logbookHome' })
.when('/LogBook/:id', { templateUrl: 'tmpls/logbookform.tmpl.html', controller: 'LogBookFormCtrl as logbookForm' })
.otherwise({ redirectTo: '/' });
});
html页面的内容:
<!DOCTYPE html>
<html >
<head>
<title>Logbook tracking</title>
</head>
<body ng-app="LogBookApp">
<div ng-controller="LogBookCtrl as logbook">
<a href="index.html">Test direct link home !</a>
<a href="#">Test hash tag link!</a>
</div>
<div ng-view>
</div>
<script src="js/lib/angular.js"></script>
<script src="js/lib/angular-route.js"></script>
<script src="js/LogBookapp.js"></script>
</body>
</html>
欢迎任何建议! 我曾尝试使用角度资源模块(https://docs.angularjs.org/api/ngResource/service/ $资源)来指定NOT来删除trailings,但这并没有成功。
app.config(['$resourceProvider', function($resourceProvider) {
$resourceProvider.defaults.stripTrailingSlashes = false;
}]);