2016-04-24 90 views
0

荫新手角度和表达Frameworks.Iam发展,这符合执行给定路由一个简单的服务器,并显示这是在controller.But声明有变量的值如控制器不defined.Here所述控制器被存储在客户机/ JS /控制器文件夹为方便起见 整个项目的代码中的错误是在这里参数“meetupsController”不是一个函数,得到了不确定的错误

的index.html

<!DOCTYPE html> 
<html ng-app=""> 
<head> 
    <meta charset="UTF-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <title>Document</title> 
    <meta name="description" content=""> 
    <meta name ="viewport" content ="width=device-width ,initial-scale =0"> 
</head> 
<body> 

    <!-- Meetups View --> 
    <div ng-controller="meetupsController"> 
     <h1>There are {{meetupsCount}} meetups</h1> 
     <!-- <ul> 
      <li ng-repeat="meetup in meetups"> 
       {{meetup.name}} 
      </li> 
     </ul> --> 
     <!-- <form ng-submit="createMeetup()"> 
      <input type="text" placeholder="Meetup Name" ng-model="meetupName"></input> 
      <button type="submit">Add</button> 
     </form> --> 
    </div> 

    <!-- <a href="">Hello World</a> --> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
    <script src="/js/controllers/meetups-controller.js"></script> 
</body> 
</html> 

聚会控制器.js

function meetupsController ($scope) { 
    $scope.meetupsCount = 10; 

    // $scope.meetups = [ 
//  { name : "Meet 1"}, 
//  { name : "Meet 2"}, 
//  { name : "Meet 3"} 
    // ] 
    // $scope.createMeetup = function() { 
    // $scope.meetups.push({ name : $scope.meetupsName}); 
    // $scope.meetupsName = ''; 
    // } 
} 

main.js

// console.log("Hello from node"); 

//Express server 

var express = require('express'); 
    app = express(); 

app.get('/' , function(req ,res) { 
    res.sendFile(__dirname + '/client/views/index.html'); 
}); 

app.use('/js',express.static(__dirname +'/client/js')); 

app.listen(3000 ,function() { 
    console.log('Im Listening .... '); 
}); 

错误日志这里

angular.js:12520 Error: [ng:areq] http://errors.angularjs.org/1.4.8/ng/areq?p0=meetupsController&p1=not%20a%20function%2C%20got%20undefined 
    at Error (native) 
    at http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:6:416 
    at qb (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:22:131) 
    at Qa (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:22:218) 
    at http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:80:210 
    at w (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:60:177) 
    at D (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:61:30) 
    at g (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:55:105) 
    at g (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:55:122) 
    at g (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js:55:122) 

Screenshot here

+1

哪里是你的应用程序主要模块的定义,比如'VAR应用= angular.module( “meetupsApp”,[ ]);'? –

+0

在开发中不要使用'angular.min.js';只在生产中。在开发中使用'angular.js'。 – cst1992

回答

1

您还没有定义的角度应用程序(ng-app=""),并没有登记您的控制器在角度的应用程序。

聚会,controller.js(添加到文件底部):

var app = angular.module('myApp', []); 
app.controller('meetupsController', meetupsController); 

的index.html(其他城市):

<html ng-app="myApp"> 
1

这部作品在老版本的角度而不是新一个 改变你的角度版本

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js" > </script> 

或defin在js文件EA模块与最新版本的角度

var app = angular.module('app', []); 
app.controller('meetupsController', meetupsController); 


function meetupsController ($scope) { 
    $scope.meetupsCount = 10; 
} 

在HTML工作

<html ng-app="app"> 
+0

使用getter/setter方法是更好:'angular.module( '应用',[])'和'angular.module( '应用')控制器( 'meetupsController',meetupsController);'。 – cst1992

相关问题