Angular Js基本控制器返回错误

时间:2014-03-23 09:58:30

标签: angularjs controller

通过应用程序调用时Angular Controller返回错误。但直接写作时就有效。

我的HTML代码

<!DOCTYPE html>
<html ng-app>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>      
    <script type="text/javascript" src="app.js"></script>

</head>
<body ng-app="fbapp">

   <div ng-controller="fbController" class="container">

           <input type="text" name="name" ng-model="name"/>

        <input type="button" value="Fetch" ng-click="fetchUser()" class="btn btn-primary"/>
       </form>

   </div>

</body>
</html>

我的js代码

var fbapp = angular.module('fbapp', []);

fbapp.controller('fbController', function($scope){

        $scope.fetchUser = function() {

           $scope.name = "Test";

        } 

}

我遇到错误

Error: [ng:areq] http://errors.angularjs.org/1.2.15/ng/areq?p0=fbController&p1=not%20a%20function%2C%20got%20undefined
    at Error (native)
    at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:6:450
    at wb (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:18:360)
    at Qa (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:18:447)
    at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:65:470
    at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:52:156
    at r (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:7:386)
    at J (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:52:18)
    at h (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:46:28)
    at h (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:46:45) 

如果我没有在应用程序中声明容器,它对我有用。像...

function fbController ($scope){

        $scope.fetchUser = function() {

           $scope.name = "Test";

        } 

}

我不知道什么是错的。

1 个答案:

答案 0 :(得分:3)

正如Stewie所说,你需要添加右括号''。

示例:

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

app.controller('fbController', function($scope){

        $scope.fetchUser = function() {

           $scope.name = "Test";
        } 
})

HTML:

<div ng-app="App"  >
<div ng-controller="fbController">
    <button ng-click="fetchUser()">click</button>
        <p >{{name}}</p>
    </div> 
</div>

实例:http://jsfiddle.net/choroshin/7Ws6w/1/