【发布时间】:2019-03-27 10:12:01
【问题描述】:
AngularJS v1.7.4
我是 AngularJS 的新手并创建了一个简单的应用程序,但不确定为什么一个路由有效(正确显示部分文件中的静态 html 以及 {{message}}),但其他两个路由仅显示静态 html 而不是 @ 987654322@ 正在使用 $scope.message 设置。
额外的错误如
名称为“ContactController”的控制器未注册。
和
名为“AboutController”的控制器未注册。
分别在尝试转到“联系”和“关于”页面时在控制台中显示。
对于三个路由,我有三个 html 文件和三个控制器文件。我确保包含<body ng-app="gmsApp">。
文件被加载为
<script src="./js/bootstrap.bundle.min.js"></script>
<script src="./js/angular.js"></script>
<script src="./js/angular-route.js"></script>
<script src="./js/controllers/about.controller.js"></script>
<script src="./js/controllers/contact.controller.js"></script>
<script src="./js/controllers/home.controller.js"></script>
<link href="./css/bootstrap.min.css" rel="stylesheet" />`
根据其他帖子的建议,我使用的是“常规”js 文件,而不是 angular 和 angular-route 的“缩小”版本。
主html文件中的代码是:
var app = angular.module("gmsApp", ['ngRoute', 'gmsApp.controllers']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/home', {
templateUrl: 'partials/home.html',
controller: 'HomeController'
}).
when('/about', {
templateUrl: 'partials/about.html',
controller: 'AboutController'
}).
when('/contact', {
templateUrl: 'partials/contact.html',
controller: 'ContactController'
}).
otherwise({
redirectTo: '/home'
});
}]);
/js/controllers/home.controller.js
angular.module('gmsApp.controllers', [])
.controller('HomeController', function ($scope) {
$scope.message = 'Main page of the app';
});
/js/controllers/about.controller.js
angular.module('gmsApp.controllers', [])
.controller('AboutController', function ($scope) {
$scope.message = 'This is about us page';
});
/js/controllers/contact.controller.js
angular.module('gmsApp.controllers', [])
.controller('ContactController', function ($scope) {
$scope.message = 'Contact Us page ...';
});
/partials/home.html
<div ng-controller="HomeController">
<h3>Home page</h3>
<p>{{message}}</p>
</div>
/partials/about.html
<div ng-controller="AboutController">
<h3>About Us</h3>
<p>{{message}}</p>
</div>
/partials/contact.html
<div ng-controller="ContactController">
<h3>Contact Us</h3>
<p>{{message}}</p>
</div>
【问题讨论】: