当前位置: 首页 > 面试题库 >

AngularJS:如何在多个文件中创建控制器

东方俊明
2023-03-14
问题内容

我正在尝试将控制器拆分为多个文件,但是当我尝试在模块中注册它们时出现错误:

组控制器咖啡

app = angular.module('WebChat', []);
app.controller 'GroupController', ($scope) ->

usercontroller.coffee

app = angular.module('WebChat', []);
app.controller 'UserController', ($scope) ->

错误

错误:参数’GroupController’不是函数,未定义

从文档中,我并没有真正获得模块方法的功能。它是否用密钥“ Webchat”存储我的控制器?

编辑: 似乎[]传递也会创建一个新模块并覆盖前一个模块

app = angular.module('WebChat', []);

为避免这种情况,您必须忽略[]

app = angular.module('WebChat');

问题答案:

检查代码中引用“
GroupController”的其他位置(可能在您的路由中)。您有可能将其作为变量存在,但是当您在模块内声明控制器时,必须将其引号引起来。例如:

MyCtrl1() = -> ()
...
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: MyCtrl1})

由于MyCtrl1是变量,因此可以正常工作。但是,当您在模块中声明控制器时:

app = angular.module('WebChat', []);
app.controller 'GroupController', ($scope) ->
   # ...

$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'GroupController'})

“ GroupController”需要在路径中加上引号。



 类似资料:
  • 问题内容: 我将所有AngularJS控制器都放在一个文件controllers.js中。该文件的结构如下: 我想做的是将Ctrl1和Ctrl2放入单独的文件中。然后,我会将这两个文件都包含在index.html中,但是应该如何构造呢?我尝试做这样的事情,它在网络浏览器控制台中引发错误,提示找不到控制器。有什么提示吗? 问题答案: 文件一: 文件二: 文件三: 按该顺序包括。我推荐3个文件,因此模

  • 我的所有AngularJS控制器都在一个文件controllers.js中。该文件的结构如下: 我想做的是将Ctrl1和Ctrl2放入单独的文件中。然后,我会在index.html中包含这两个文件,但该如何结构化呢?我试着做这样的事情,它在web浏览器控制台中抛出一个错误,说它找不到我的控制器。有什么提示吗? 我搜索了StackOverflow并发现了这个类似的问题--然而,这个语法在Angula

  • 问题内容: 我正在尝试建立一个视图-我设置了两个控制器进行练习,一个是HeaderCtrl,其中包含一些数据(网站标题,标题背景等),另一个应该具有页面的主要内容- MainCtrl。 在定义路线时,我这样做是: 这工作得很好,但是我想要为此指定多个参数,如下所示: 这行不通,所以我猜这不是做到这一点的方法。我实际上要问的是-您可以在$ routeProvider中指定多个控制器吗?还是构建此视图

  • 问题内容: 我使用以下代码在logstash.conf中创建索引 为了创建另一个索引,我通常在上面的代码中用另一个索引名称替换索引名称。有什么办法可以在同一文件中创建许多索引?我是ELK的新手。 问题答案: 您可以根据其中一个字段的值在索引名称中使用模式。在这里,我们使用字段的值来命名索引: 您还可以将多个输出用于同一ES主机或不同ES主机: 或者,您可能想根据某个变量将文档路由到不同的索引: 更

  • 我试图构建我的项目的JRE捆绑exe文件,这是一个游戏,在本教程的帮助下使用,它创建了文件,但每当我运行这个文件时,它会给出两条错误消息: 出现JNI错误,请检查您的安装。 Java异常发生(JVM启动器)。 附言:我的项目在文件夹中包含额外的JAR文件()。

  • 问题内容: 我正在尝试创建多个图像文件的zip文件。我已经成功创建了所有图像的zip文件,但是不知何故,所有图像都被挂起了950字节。我不知道这里出了什么问题,现在我无法打开将图像压缩到该zip文件中。 这是我的代码。谁能告诉我这是怎么回事? 问题答案: 更改此: 对此: 并将缓冲区大小设置为1024字节: