我为学习目的创建了一个非常简单的angularjs应用程序。在下面的代码中,索引页面加载,但是当我单击地址栏中的URL显然发生变化时点击单击时没有任何反应。
我在Firebug的控制台中没有看到任何错误。
如果在浏览器中查看源代码时单击指向我的JS文件的链接,则会成功检索所有文件。
我还应该注意,在添加控制器之前,我在点击链接时能够在ng-view中看到paris.html或london.html,以便服务器能够找到这些文件。
我是angularjs的新手,无法找到问题所在。任何帮助表示赞赏。
的index.html
<!DOCTYPE html>
<html ng-app="mainApp">
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<ol>
<li><a href="#/cities/paris">Paris</a></li>
<li><a href="#/cities/london">London</a></li>
</ol>
<div class="content-wrapper" ng-controller="CityController">
<div ng-view></div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular-route.js"></script>
<script src="resources/js/app.js"></script>
<script src="resources/js/CityController.js"></script>
</body>
</html>
app.js
var app = angular.module("mainApp", ['ngRoute']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/cities/paris', {
templateUrl: 'resources/paris.html',
controller: 'CityController'
}).
when('/cities/london', {
templateUrl: 'resources/london.html',
controller: 'CityController'
}).
otherwise({
redirectTo: 'resources/london.html'
});
}]);
CityController.js
var mainApp = angular.module("mainApp", []);
mainApp.controller('CityController', function($scope) {
$scope.message = "Hello From Controller";
});
paris.html
This is Paris.
<br><br><br>
{{message}}
london.html
This is London.
<br><br><br>
{{message}}
答案 0 :(得分:1)
您正在此行中再次覆盖该应用
var mainApp = angular.module("mainApp", []);
即。你在这里宣布应用程序两次:
var app = angular.module("mainApp", ['ngRoute']);
在这里
var mainApp = angular.module("mainApp", []);
解决方案可能是,留下这部分
var app = angular.module("mainApp", ['ngRoute']);
然后
app.controller('CityController', function($scope) {
$scope.message = "Hello From Controller";
});
由于应用程序可全局访问
答案 1 :(得分:0)
添加到Khaled Awad的答案
在 CityController.js
中进行更改
var mainApp = angular.module("mainApp");
&#13;