未捕获的ReferenceError:未定义angular – AngularJS无法正常工作

我正在尝试学习角度,我正在努力点击一个简单的按钮。
我按照一个示例,它具有与下面相同的代码。

我正在寻找的结果是单击按钮以引发警报。 但是,按钮单击没有响应。 有人有什么想法吗?

   My AngularJS App    
var app = angular.module('myApp',[]); app.directive('myDirective',function(){ return function(scope, element,attrs) { element.bind('click',function() {alert('click')}); }; });

{{2+3}}

<!-- In production use: -->

您需要将角度应用程序代码移动到包含角度库的下方。 在您的角度代码运行时, angular尚不存在。 这是一个错误(请参阅您的开发工具控制台)。

在这一行:

 var app = angular.module(` 

您正在尝试访问名为angular的变量。 考虑导致该变量存在的原因。 这可以在angular.js脚本中找到,然后必须首先包含该脚本。

  

{{2+3}}

为了完整起见,您的指令确实类似于现有的指令ng-click ,但我相信这个练习的目的只是练习编写简单的指令,这是有道理的。

使用ng-click指令:

  // In  

请注意,在此示例中您不需要my-directive ,只需要在当前作用域上绑定alertFn

更新 :您还希望在块之前加载角度库。

只是为了补充m59的正确答案 ,这是一个有效的jsfiddle :

  

{{2+3}}

如您所知angular.module (在angular.js文件中声明。在访问angular.module之前,您必须使用使其可用(在您的case)之后你可以调用angular.module 。它会工作的。

喜欢

    My AngularJS App             

{{2+3}}