AngularJs的ngRoute不会在ng-view上加载页面
AngularJs ngRoute not loading pages on ng-view
我知道已经有很多类似的问题了,但是我真的找不到解决方法。
ng-view没有加载我的页面。我是不是错过了什么太明显的东西?
App.js:
var app = angular.module('crisSite', [
'ngRoute',
'PortfolioController',
'AboutCtrl',
'ContactCtrl'
]);
var selectedSpecIdGlobal = 0;
app.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl : '/pages/portfolio.html',
controller : 'PortfolioController'
})
.when('/about', {
templateUrl : '/pages/about.html',
controller : 'AboutCtrl'
})
.when('contact', {
templateUrl : '/pages/contact.html',
controller : 'ContactCtrl'
})
.otherwise('/', {
templateUrl : '/pages/portfolio.html',
controller : 'PortfolioController'
});
});
index . html:
<!DOCTYPE html>
<html ng-app="crisSite">
<head>
<!-- <link rel="stylesheet.css" type="text/css" href="bootstrap.min.css" /> -->
<link href="stylesheet.css" media="screen" rel="stylesheet" type="text/css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!-- <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> -->
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-route.js"></script>
<script src="jqueryfuncs.js"></script>
<!-- <script type="text/javascript" src="angular.min.js"></script> -->
<script type="text/javascript" src="app.js"></script>
<style type="text/css">
</style>
</head>
<body class="list-group" ng-controller="mainController">
<header>
<!-- <h1 class="text-center">Cris</h1> -->
</header>
<div class="page-content">
<ul class="main-nav" id="main-nav">
<li><a href="#"><i class="fa fa-home"></i> Portfolio</a></li>
<li><a href="#about"><i class="fa fa-shield"></i> About</a></li>
<li><a href="#contact"><i class="fa fa-comment"></i> Contact</a></li>
</ul>
<div class="main">
<div ng-view></div>
</div>
</div>
</body>
</html>
我正在Chrome和Mozilla上进行本地测试。我读了很多类似问题的答案,但不知道如何使它工作。
有没有更好的方法来"调试"它,而不是试错?
这是.otherwise(...)
的正确用法吗?
我觉得应该是这个样子
.otherwise({
redirectTo: '/' /*redirects to portfolio (because you defined it before with "/") */
});
只要从angular.module([...]);
中去掉-> 'PortfolioController','AboutCtrl','ContactCtrl'
,就可以在when(...)
内部为每条路由分配控制器。
Here is a Fiddle Example
更新2
这是一个修改后的小提琴(请注意,我必须使用Angular 1.2.1在小提琴。但只要你总是使用相同版本的angular.js和它的模块,一切都应该没问题。
小提琴
首先,永远不要使用最小化的库进行测试,这会影响错误报告。使用angular的非精简版本,你会得到更多描述性的报告。
第二,您是否创建了所有这四个控制器,并将它们添加到crisSite模块中,并将它们包含在index.html中?看起来并没有将它们放在index.html中。保持一致的命名约定,选择NameController或NameCtrl。
第三,你的联系人路由缺少/,你的else应该使用Ramis提供的语法。
最后,确保所有的引用都是正确的,这些模板路径是否指向正确的文件?
你需要张贴小提琴或柱塞与完整的代码,如果你希望我们进一步帮助。可能出错的地方实在太多了。
- ng-view 中的脚本在从文件引用时不起作用(JQuery 在角度之前加载)
- Angular 和 django 无法加载 ng-bind
- 在 DOM 中动态重新加载 ng 重复数据
- 在AngularJs中无法加载ng-view
- Angular 不会加载 ng-admin
- ng-view - 模板页面中的加载控制器
- 在加载ng选项之前更新模型时选择选项
- 重新加载ng重复,使用新数据
- 如何在AngularJS中重新加载ng include
- Ionic框架未加载ng模型变量
- 重新加载ng表不起作用
- Angular ng-view -加载失败
- 加载新页面,ng-view
- 当更改ng-view和控制器时重新加载数据
- AngularJs的ngRoute不会在ng-view上加载页面
- Angular/Javascript -重新加载ng-repeat的数据后更改类
- 如何加载ng-src取决于值
- 在加载ng-view模板失败时显示错误页面
- 如何从返回JSON的REST web服务加载ng表中的数据
- 未捕获的错误:即使在加载ng路线后也有角度