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

使用通过angular.module()。controller()创建的AngularJS控制器

金霄
2023-03-14
问题内容

我对AngularJS还是很陌生,并且正在设置我的第一个应用程序。我希望能够执行以下操作:

angular.module('App.controllers', [])
  .controller('home', function () {
    $scope.property = true;
  }]);

angular.module('App', ['App.controllers'])
  .config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/', {templateUrl: 'partials/home.html', controller: home});
  }]);

使用此设置会产生以下错误:

Uncaught ReferenceError: home is not defined from App

我的问题是:如何使用angular.module.controller()(或$controllerProvider.register()直接)注册控制器,以及如何在应用程序的其他位置使用注册的控制器。

我的动机:我想避免使用全局构造函数作为控制器(就像angularjs.org上的大多数示例一样使用)或复杂的命名空间。如果我可以将控制器注册并用作单个变量名(然后不放在全局范围内),那将是理想的选择。


问题答案:

尝试使用字符串标识符。

routeProvider.when('/', {templateUrl: 'partials/home.html', controller: 'home'});

当您使用文字时,它正在寻找一个名为的变量home,但在这种情况下不存在。



 类似资料:
  • 本文向大家介绍AngularJS控制器controller正确的通信的方法,包括了AngularJS控制器controller正确的通信的方法的使用技巧和注意事项,需要的朋友参考一下 AngularJS是一款非常强大的前端MVC框架,AngularJS中的controller是个函数,用来向视图的作用域($scope)添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为。 当我们在

  • 当我用php artisan命令在Laravel中创建一个控制器时 它创建一个控制器,其中包括 PhpStorm提示:从未使用别名“App\Http\Controllers\Controller”。 这似乎是正确的,因为部分 没有它工作得很好。所以我可以删除“使用应用\Http\控制器\控制器”还是我错过了什么?

  • 问题内容: 如何创建可从所有控制器访问的某种utils捆绑包? 我的主模块中有以下路由代码: 我想是可以通用的功能,和。 我应该如何在AngularJS中做到这一点? 问题答案: 用角度定义通用代码的方法是通过服务。 您将像这样定义一个新服务: 在您的控制器中,您将注入此服务。 只需将CommonCode用作控制器函数的参数即可。Angular会为您注入它(请阅读Dependency Inject

  • 使用swoole的MVC管理,控制器类必须符合下列规范 代码放置到apps\controllers目录下 类名首字母必须为大写 必须继承自Swoole\Controller 实例 class MyController extends Swoole\Controller { function test() { return "hello world"; } }

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

  • 本文向大家介绍AngularJS 创建缩小安全的角度控制器,包括了AngularJS 创建缩小安全的角度控制器的使用技巧和注意事项,需要的朋友参考一下 示例 要创建安全的角度控制器,您将更改controller功能参数。 该函数中的第二个参数module.controller应该传递给数组,其中最后一个参数是控制器函数,而在此之前的每个参数都是每个注入值的名称。 这不同于通常的范式。它采用带有注入