我注意到在这里问了几次同样的问题,我尝试过解决这个问题,但是没有帮助。
我正在学习带蛋头视频的本教程。
但是,当我进入“控制器和控制器之间共享数据”部分时,我无法正常工作。
当我使用Chrome运行它时,在控制台中出现此错误:
“参数“ FirstCtrl”不是函数,未定义”。
我真的不知道怎么了 代码与教程中的相同。
的HTML
<!DOCTYPE html> <html ng-app> <head> <title>AngularJS Tutorials: Controllers</title> <link rel="stylesheet" href="mystyle.css"> <script src="http://code.angularjs.org/1.2.0-rc.2/angular.min.js"></script> </head> <body> <div ng-app=""> <div ng-controller="FirstCtrl"> <h1> {{data.message + " world"}}</h1> <div class="{{data.message}}"> Wrap me in a foundation component </div> </div> </div> <script type="text/javascript" src="main.js"></script> </body> </html>
main.js
function FirstCtrl($scope){ $scope.data = { message: "Hello" }; }
您ng-app的html中有2个未命名的指令。 在您的div中丢掉一个。
ng-app
更新 让我们尝试另一种方法。 在您的js文件中定义一个模块,并为其分配ng-app指令。之后,将控制器定义为ng组件,而不是简单的功能:
<div ng-app="myAppName"> <!-- or what's the root node of your angular app -->
和js部分:
angular.module('myAppName', []) .controller('FirstCtrl', function($scope) { $scope.data = {message: 'Hello'}; });
这是一个在线演示,它就是这样做的:http : //jsfiddle.net/FssbL/1/