[英]How to view first Angular template?
我正在尝试构建一个非常基本的 Angular 应用程序,但在查看第一个模板时遇到问题。 我的 html 看起来像这样:
<html ng-app="formApp">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>
<script src="js/controllers.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div ng-view></div>
</body>
</html>
我的app.js
是这样的:
'use strict';
var formApp = angular.module('formApp', ['ui.router']);
formApp.config(function($stateProvider, $urlRouterProvider){
$stateProvider
.state('main', {
url: '/main',
templateUrl: 'templates/main.html',
controller: 'MainCtrl'
});
$urlRouterProvider.otherwise('/main')
});
和我的controllers.js
是这样的:
var formControllers = angular.module('formControllers', []);
formControllers.controller('MainCtrl', function($scope){
$scope.lala = 'lalallala';
});
名称为templates/main.html
如下所示:
<h1>Yes yes people</h1>
{{lala}}
所以我使用命令http-server -a 0.0.0.0 -p 8000
启动node
并在浏览器中进入http://0.0.0.0:8000/
。 不幸的是,屏幕仍然是白色的。 它确实从服务器加载(我看到它向终端中的节点发出请求)但我在浏览器中什么也没看到。 我尝试了各种网址,例如:
http://0.0.0.0:8000/
http://0.0.0.0:8000/#
http://0.0.0.0:8000/#/main
http://0.0.0.0:8000/app
http://0.0.0.0:8000/app/#/
但没有任何效果。
有人知道如何查看我创建的第一个模板吗? 欢迎所有提示!
[编辑] 控制台没有给出错误,当我查看页面的源代码时,我确实看到了我的 html。 我只是没有看到我在 main.html 中定义的类似Yes yes people
内容。 所以我的模板根本没有加载。 任何的想法?
由于您在单独的formControllers
模块中定义了控制器,因此您需要将其作为主应用程序模块的依赖项提供:
var formApp = angular.module('formApp', ['ui.router', 'formControllers']);
对于 UI-Router,您应该使用ui-view指令而不是ng-view 。 所以你的 html 应该是这样的:
<html ng-app="formApp">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>
<script src="js/controllers.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div ui-view></div>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.