Angular.js Ninja控制器的新手

时间:2014-12-10 14:46:18

标签: javascript angularjs controllers

我一直在尝试使用Angular.js新手到Ninja学习一些Angular.js。 我现在面临的主要问题是,在示例中你需要文件,app.js和controller.js。

主模块在app.js和controllers.js中声明为依赖项:

angular.module('myApp', [
'myApp.controllers',
'ngRoute'
]);

在controllers.js中,控制器声明如下:

angular.module('myApp.controllers').controller('BookController', function($scope){
$scope.name="Scope for BookController";
});

但它永远不会那样,我必须这样做,并保持在同一个文件中。

var app=angular.module('myApp', [
'myApp.controllers',
'ngRoute'
]);
app.controller('BookController', function($scope){
$scope.name="Scope for BookController";
});

有人能告诉我什么是错的吗?谢谢。

2 个答案:

答案 0 :(得分:0)

你的调试器说了什么?

我的猜测是你以错误的顺序加载文件。您看,您必须先定义myApp.controllers才能在myApp中加载它,因此请确保先注入controllers.js,然后app.js

答案 1 :(得分:0)

请确保按照以下顺序在头标记

中加载文件
<script src="/path_to/angular/angular.js"></script>
<script src="/path_to/app.js"></script>
<script src="/path_to_controllers/controllers.js"></script>

另外,请在app.js

中添加以下内容

myApp.controllers = angular.module('myApp.controllers',[])

并将您的代码更改为controller.js

中的以下内容
myApp.controllers.controller('BookController', function($scope){
   $scope.name="Scope for BookController";
});

希望这能解决您的问题。