我在尝试设置角度路由时遇到了一些问题。我有一个手动引导的应用程序(我需要这个功能,因为我已经在整个网站上都有 html5 导航,并且希望 angular 只能在某些页面上工作 - 它工作正常)。但是当我运行我的代码时,我遇到了一些问题:
- 如果
.otherwise
提供,我会无限循环调用我的控制器并在 Chrome 中因 Range 错误而死 - 而且我总是将 url 重定向从哈希版本到非哈希,即使我打电话
$locationProvider.html5Mode(false);
猜测问题可能是由于我已经在使用 history.js 和事件处理程序来处理 statechange 事件,但现在我没有任何线索。需要你的帮助才能得到一些答案。
谢谢你的时间。
和代码。
HTML
<script>
if (typeof angular === 'undefined')
{
Modernizr.load({
load: [
'/static/css/angular.css',
'/static/js/libs/angular/angular.min.js',
'/static/js/files/angular/app.js',
'/static/js/files/angular/controllers.js',
'/static/js/files/angular/filters.js',
'/static/js/files/angular/services.js',
'/static/js/libs/angular/angular-resource.min.js',
],
complete: function () {
angular.bootstrap(document.getElementById('manager'), ['manager']);
}
});
} else {
angular.element(document).ready(function() {
angular.bootstrap(document.getElementById('manager'), ['manager']);
});
}
</script>
应用程序.js
/* App Module */
var FM = angular.module('manager', ['managerFilters'])
.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/home', { controller: FilesListCtrl, templateUrl: '/static/partials/1.html' })
.otherwise({ redirectTo: '/home' });
}]);
控制器.js
function FilesListCtrl($scope, $filter, $routeParams) {
app.log('FilesListCtrl')
}