查看没有注入Angular

时间:2015-05-16 03:14:31

标签: angularjs

我正在尝试创建一个简单的Angular应用程序,我最近在route.js中添加了一个路由器。出于某种原因,mainCtrlsomeview.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")

1 个答案:

答案 0 :(得分:1)

angular.module('LiveAPP',[])
    .controller('MainCtrl', function($scope) {

在这里,您可以定义一个不依赖于任何其他模块的模块LiveAPP,并为该模块添加控制器。

angular.module('LiveAPP', ['ngRoute'])
    .config(function($routeProvider, $httpProvider) {

在这里,您再次重新定义一个具有相同名称的模块,具体取决于ngRoute。但是,由于您正在重新定义它,因此您可以有效地覆盖先前定义的模块及其所有组件。

模块必须定义一次,且只能定义一次。

我对express不太了解,但我也不明白为什么你的所有文件都不在public下,因为那显然是web服务器所服务的目录。