0

这是我的第一天,我试图做一个简单的工作,但事实并非如此。这是一个小提琴:http: //jsfiddle.net/LKktL/

<body ng-app>
 <div ng-controller='EventAddCtrl'>
    <p>Nothing here {{'yet' + '!'}}</p>
 <div class='first-test' ng-click="say_hello()">angular test to say hello</div>
</div>   
</body>

​</p>

function EventAddCtrl($scope){
  $scope.say_hello = function() {
    alert('hello in there');
  }
}​

它显然不起作用并试图找出原因。提前谢谢

4

3 回答 3

2

在您的 JSFiddle 中,Angular 正在onLoad事件期间执行。打开浏览器控制台,你会发现 Angular 抛出以下错误

    Error: Argument 'EventAddCtrl' is not a function, got undefined

您的应用未能初始化。

onLoad事件在文档加载过程结束时触发。Angular 在事件期间初始化您的应用程序,该DOMContentLoaded事件在 DOM 被解析之后但DOM 准备就绪之前和文档完全加载之前被触发。换句话说,确保库在任何这些事件之前被解析和执行,方法是在HTML 标记<head>之间包含它。<body>一个好的做法是将它放在结束<body>标记之前。

正如其他人所提到的,在使用 JSFiddle 时,请使用no wrap(head)no wrap(body).

于 2012-11-14T07:38:17.507 回答
1

你的小提琴有两个错误的用法。

  1. 不需要选择 onload,选择 no wrap(head) 或 no wrap(body) 都可以。
  2. 不需要<body>在已经存在的 html 面板中放置标签,并展开左侧面板中的信息菜单,用. 填充Body 标签<body ng-app>

有关更多信息,请查看此页面小提琴文档

于 2012-11-14T07:07:57.580 回答
0

jsFiddle 有一些设置问题。这是工作的jsFiddle

你可以试试plunker。它像 jsFiddle 一样工作得很好。

1.添加正文标签<body ng-app>

2.pick“不换行(头)”

于 2012-11-14T06:25:29.623 回答