У меня есть веб-приложение, которое, похоже, не работает вообще, если я попытаюсь использовать подход ngRoute для изменения основного вида страницы. Конфигурации маршрутизации выглядит следующим образом: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-сервером из его каталога. В обоих случаях нет никаких доказательств того, что страницы с частицами запрашиваются с сервера. Основной вид немного волосатые сообщения в полном объеме, но соответствующие биты выглядеть следующим образом:
<!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>
Я остановился NavBar вещи, как, кажется, не имеет значение, и я получаю те же результаты, щелкнув по нему или непосредственно введя URL с #без разницы. Каталоги/libs имеют самую последнюю угловую, угловую маршрутизацию, ангулярную санитацию от беседки.
Небольшие образцы, которые я пытался подключить к своим библиотекам, и частичные работы, похоже, работают, что еще более расстраивает. Я был в тупике в течение нескольких дней. Я взломал его в производстве с беспорядком ng-includes и некоторым «умным» кодом, но я предпочел бы получить эту работу. Что-нибудь выскочит? Когда я говорю, что это не сработает, я имею в виду, что я не вижу никаких доказательств того, что какая-либо маршрутизация произошла в том, что эти частичные запросы никогда не запрашиваются с сервера.
Если вы вручную перейдете к URL: 'http://yourserver.com/partials/workspace_view.html' в вашем браузере, правильно ли он загружает частичный? – GregL
вы можете добавить код контроллера, так как это поможет увидеть, есть ли там проблемы, из-за чего маршрутизация не работает. –
Вы загружаете MainController дважды. Один раз в
и снова для каждого вида. Не уверен, что это хорошая идея. – aet