如果我尝试使用 ngRoute 方法来更改主页面视图,我有一个似乎根本无法工作的网络应用程序。路由配置如下所示:
var app;
app = angular.module('genehaxx', ['ngGrid','ngRoute', 'ngSanitize', 'ui.bootstrap','genehaxx.filters', 'genehaxx.services'])
.config(function($routeProvider){
//route setup
$routeProvider
.when('/workflows', {
templateURL: '/partials/workspace_view.html',
controller: 'MainController'
})
.when('/jobs', {
templateURL: '/partials/submissions_view.html' ,
controller: 'MainController'
})
.when('/', {
templateURL: '/partials/analyses_view.html',
controller: 'MainController'
})
.when('/analyses', {
redirectTo: '/'
})
.otherwise({
redirectTo: '/'
});
});
function MainController($scope, $modal, $rootScope, User, Data, Workflow, Step){
//lots of proprietary code here..
}
我已经尝试过在部分前面有和没有'/'。我已经尝试过它的正常网络服务器反向代理在 nginx 下和直接在其目录中的 http-server 下。在这两种情况下,都没有任何证据表明曾经从服务器请求过部分页面。整个主视图有点毛茸茸,但相关的部分看起来像:
<!doctype html>
<html lang="en" ng-app="genehaxx" >
<head>
<meta charset="utf-8">
<title>Welcome to Genengine!</title>
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="css/app.css"/>
<link rel="stylesheet" href="css/ng-grid.css">
<script src="lib/jquery-2.0.2.js"></script>
<script src="libs/angular/angular.js"></script>
<script src="libs/angular-route/angular-route.min.js"></script>
<script src="libs/angular-sanitize/angular-sanitize.js"></script>
<script src="lib/transition.js"></script>
<script src="lib/bootstrap-custom/ui-bootstrap-custom-tpls-0.10.0.js"></script>
<script src="lib/ng-grid-2.0.7.debug.js"></script>
<script src="js/app.js"></script>
<script src="js/filters.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore.js"></script>
<script src="js/objects.js"></script>
<script src="js/services2.js"></script>
<script src="js/dropdownToggle.js"></script>
</head>
<body>
<div id="main">
<div ng-view></div>
</div>
</body>
</html>
我已经放弃了导航栏的内容,因为它似乎无关紧要,单击它或使用#whatever 直接输入 url 得到相同的结果。/libs 目录具有来自 bower 的最新 angular、angular-route、angulare-sanitize。
我尝试插入我的库和部分的小样本似乎可以工作,这更令人沮丧。这几天我一直被这件事难住了。我在生产中用一堆 ng-includes 和一些“聪明”的代码绕过它,但我宁愿让它工作。有什么弹出来的吗?当我说它不起作用时,我再次表示我没有看到任何证据表明发生了任何路由,因为这些部分从未从服务器请求。