本文介绍了在简单的例子AngularJS没有定义控制器错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在做的淘汰赛和角之间的比较,以帮助做出哪些用于绑定的决心。由于我没有在任何一个当前开发者,我只想把一个简单的单html页面(index.html的),而多个视图,这样做比较。要做到这一点,我就看到一个淘汰赛Hello World示例一个简单的jsfiddle,从网页复制的源代码,在一个index.html贴吧,改剧本的参考路径,并担任它。没有问题,我可以开始使用淘汰赛应用程序在一个单一的文件,开始测试。

试图做同样的事情角度和我不断收到错误,使我不能确定是什么问题。这里是例子。谁能告诉我,我做错了什么?该的jsfiddle的例子是:

下面是code。误差的下方。

 <!DOCTYPE HTML>
< HTML和GT;
< HEAD>
  < META HTTP-EQUIV =内容类型内容=text / html的;字符集= UTF-8>
  <标题>滚动+ limitTo - 的jsfiddle演示< /标题>  <脚本类型=文/ JavaScript的'SRC ='脚本/ angular.js'>< / SCRIPT>  <脚本类型=文/ JavaScript的'> //<![CDATA [                VAR应用= angular.module('应用',[]);                功能Ctrl($范围){
                  $ scope.tasks = {[ID:1,'名':'TEST1'},{ID:2,'名':'测试2'},{ID:3,'名':'TEST3'}]                  $ scope.removeTask =功能(TASKID){
                                警报(任务ID为+任务id);
                  };
                }
                //]]>                < / SCRIPT>
< /头>
<机身NG-应用=应用程序>
  < D​​IV CLASS =测试NG-控制器=CTRL>
  < D​​IV NG重复=任务,任务>
   <按钮NG点击=removeTask(task.id);>删除< /按钮>
  < / DIV>
< / DIV>< /身体GT;
< / HTML>

这是错误消息。

解决方案

This issue is related to a change they made in 1.3 of AngularJS.

You can read the change here at this link https://github.com/angular/angular.js/commit/3f2232b5a181512fac23775b1df4a6ebda67d018.

The idea is that global controllers were very bad form so they disabled that option by default. If you want to enable that ability you have to set $controllerProvider.allowGlobals();. Otherwise you should set up your controller like below:

app.controller("Ctrl", ["$scope", function($scope) {
    //Code
}]);

这篇关于在简单的例子AngularJS没有定义控制器错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 17:55