[英]Why does my AngularJS app not work when I add routing?
我是AngularJS的新手,我实际上是从今天开始的,我想为使用AngularJS的公司创建示例站点。 我的计划是为产品创建一个视图,并为“关于”页面创建一个视图。
这是我的index.html代码:
<!doctype html>
<html ng-app="myApp" ng-controller="myCtrl">
<head>
<title>{{ title }}</title>
<script src="https://code.angularjs.org/1.5.0/angular.min.js"></script>
<script src="https://code.angularjs.org/1.5.0/angular-route.js"></script>
<script src="js/app.js"></script>
<!-- Bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
</head>
<body>
<nav class="navbar navbar-default">
<div class="navbar-header">
<a class="navbar-brand"> {{ title }}</a>
</div> <!-- navbar-header -->
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="#/products">Products</a></li>
<li><a href="#about">About</a></li>
</ul>
</div>
</nav>
<div ng-view></div>
</body>
</html>
这就是我的app.js文件中的内容:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope){
$scope.title = "My company site";
});
app.config(['$routeProvider', function($routeProvider){
$routeProvider.
when('/products', {
templateUrl: 'partials/home.html',
controller: 'productsController'
}).
when('/about', {
templateUrl: 'partials/about.html',
controller: 'myCtrl'
}).
otherwise({
redirectTo: '/products'
});
}]);
app.controller('productsController', function($scope){
$scope.message = 'This will show my products page';
});
app.controller('aboutController', function($scope){
$scope.message = 'This will show my about page';
});
每当我单击导航栏上的链接时,单击链接的视图都不会呈现。 网站的标题也会在浏览器中显示为{{ title }}
。 这些问题是在我添加路由代码时开始的。 如果我从路由中删除代码,标题将正确显示。 另外,无论何时我在站点上拥有路由代码,我的浏览器都会收到此错误。 Uncaught Error: [$injector:modulerr]
,它给了我此页面的链接。 我已经访问了该站点,并且在检查了所有内容之后,仅当我在app.js中没有用于路由的代码时,模块才能正常加载。 那我在做什么错呢? 我正在看这个约一个小时,我无法弄清楚。
var app = angular.module('myApp', ['ngRoute']);
添加依赖项。 为我工作。
您没有在应用程序中加载ngRoute。 要加载它,您应该执行以下操作:
var app = angular.module('myApp', ['ngRoute']);
更改var app = angular.module('myApp', []);
到var app = angular.module('myApp', ['ngRoute']);
您缺少模块注入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.