我正在使用MEAN构建一个单页网站,我已经尝试了多个教程并搜索了大量示例,但我似乎无法让它工作。
我使用angular-routing
作为我的模板,但是当我添加控制器时 - 模板没有显示。没有任何错误。
app.js
angular.module('sampleApp', ['frontPageCtrl','ngRoute', 'appRoutes']);
appRoutes.js
angular.module('appRoutes', [])
.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/home.html',
controller: 'frontController'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
}]);
frontPageController.js
angular.module('frontPageCtrl', [])
.controller('frontController', function($scope, $http) {
});
在我的index.html
文件中,我首先将所有三个文件包含app.js
,然后包含角度包含。
修改
这是我的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<base href="/">
<link rel="stylesheet" href="libs/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="libs/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="css/frontPage.css">
<link rel="stylesheet" href="libs/bootstrap/"
<!-- JS -->
<script src="libs/angular/angular.min.js"></script>
<script src="libs/angular-route/angular-route.min.js"></script>
<script src="js/app.js"></script>
<script src="js/appRoutes.js"></script>
<script src="js/controllers/frontPageController.js"></script>
</head>
<body ng-app="sampleApp" ng-controller="frontController">
<div id="container">
<div id="content">
<div ng-view></div>
</div>
</div>
</body>
</html>
答案 0 :(得分:2)
要检查的事项
如果这回答了你的问题,请不要忘记将其标记为答案:)
答案 1 :(得分:1)
在查看代码后,我可以看到,您的依赖注入是错误的。查看appRoutes.js
,app.js
,index.html
中的更改,home.html
文件夹中frontController
需要views
。
你的app.js应该是:
angular.module('appRoutes', []);
你的appRoutes.js应该是:
angular.module('sampleApp', ['frontPageCtrl','ngRoute', 'sampleApp'])
.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/home.html',
controller: 'frontController'
})
.otherwise({
redirectTo: '/'
});
}]);
和你的frontPageController.js:
angular.module('frontPageCtrl', [])
.controller('frontController', function($scope, $http) {
});
并且,在你的Index.html中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<base href="/">
<link rel="stylesheet" href="libs/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="libs/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="css/frontPage.css">
<link rel="stylesheet" href="libs/bootstrap/"
<!-- JS -->
<script src="libs/angular/angular.min.js"></script>
<script src="libs/angular-route/angular-route.min.js"></script>
<script src="js/appRoutes.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers/frontPageController.js"></script>
</head>
<body ng-app="sampleApp">
<div id="container">
<div id="content">
<div ng-view></div>
</div>
</div>
</body>
</html>
而且,您的home.html
应该拥有控制器frontController
。默认情况下,如果未使用home.html
,则frontController
将使用ng-controller="frontController"
。
<div ng-controller="frontController">