2016-04-24 95 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

相關問題