我正在尝试创建一个简单的Angular应用程序,我最近在route.js中添加了一个路由器。出于某种原因,mainCtrl
和someview.html
之间没有关联。我之所以知道这是因为<div ng-view></div>
视图没有被注入,任何人都知道为什么?
我的文件夹结构如下
root
------/app
----------routes.js
----------/views
-----------------someview.html
------/public
---------mainCtrl.js
---------index.html
server.js
mainCtrl.js
angular.module('LiveAPP',[])
.controller('MainCtrl', function($scope) {
$scope.Artists = [
{name:"Blink 182",age:14},
{name:"Led Zeppelin",age:12},
{name:"Lil Wayne",age:11}
];
$scope.number = 100;
});
someview.html
<div>{{number}}</div>
route.js
angular.module('LiveAPP', ['ngRoute'])
.config(function($routeProvider, $httpProvider) {
$routeProvider
.when('/', {
templateUrl : '/views/someview.html',
controller : 'MainCtrl'
})
});
的index.html
<!doctype html>
<html ng-app='LiveAPP'>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js">
</script>
<link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.28//angular-route.min.js"></script>
<script src="mainCtrl.js"></script>
</head>
<body>
<div ng-view></div>
</body>
</html>
server.js
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(3000);
console.log("Listening at 3000")
答案 0 :(得分:1)
angular.module('LiveAPP',[])
.controller('MainCtrl', function($scope) {
在这里,您可以定义一个不依赖于任何其他模块的模块LiveAPP,并为该模块添加控制器。
angular.module('LiveAPP', ['ngRoute'])
.config(function($routeProvider, $httpProvider) {
在这里,您再次重新定义一个具有相同名称的模块,具体取决于ngRoute。但是,由于您正在重新定义它,因此您可以有效地覆盖先前定义的模块及其所有组件。
模块必须定义一次,且只能定义一次。
我对express不太了解,但我也不明白为什么你的所有文件都不在public
下,因为那显然是web服务器所服务的目录。