Angular 1.5 & ES6 - 依赖注入

2024-01-01

我是 Angular 新手,我正在尝试使用 ES6。

我的依赖注入有问题,我无法让它工作。

我的index.js:




    import './index-state.css!';
    import angular from 'angular';
    import 'angular-ui-router';
    import IndexStateController from './index-state-controller';
    import indexRouteConfig from './index-route';

    const dependencies = [
        'ui.router'
    ];

    export default angular
        .module('index-state-component', dependencies)
        .controller('IndexStateController', IndexStateController)
        .config(indexRouteConfig);

  

我的 index-state.controller.js 是:




    class IndexStateController {
        constructor($timeout) {
            this.$timeout = $timeout;
            this.controllerName = 'Example Controller';
            console.log(this.$timeout);
        }

    }

    IndexStateController.$inject =['$timeout'];

    export default [
        IndexStateController
    ];

  

我在 console.log(this.$timeout) 上收到“未定义”。

有人可以帮我解决这个问题吗?

Thanks


我认为你的问题是你正在导出一个包含控制器的数组,而不是导出控制器类本身,这意味着你已经覆盖了$inject具有空依赖集的属性:

export default [
    IndexStateController
];

应该:

export default IndexStateController;

或者,您可以在导出中包含注入值:

export default [
    '$timeout',
    IndexStateController
];

另一种解决方案,如果你使用类似的东西gulp构建代码就是用 babel 之类的东西编译 es6,然后使用ngAnnotate自动进行注射。在这种情况下,您需要将该类标记为需要注入:

class IndexStateController {
    constructor($timeout) {
        "ngInject"
        this.$timeout = $timeout;
        this.controllerName = 'Example Controller';
        console.log(this.$timeout);
    }

}
export default IndexStateController;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 1.5 & ES6 - 依赖注入 的相关文章

随机推荐

  • 我可以从 git 存储库中“排除”哪些 Xcode 项目文件?

    我正在开发一个 iOS 项目 并使用 git 进行版本控制 我正在与另一位开发人员合作解决此问题 我应该将哪些 Xcode 项目文件保留在存储库中 哪些可以排除 以免对其他开发人员产生负面影响 以下是 git 告诉我的一些非代码文件已被修改
  • Angular 6输入类型数字并显示逗号后2位数字

    我想在用户输入数字时显示输入 20 I want 20 00要显示 对于更大的数字 我想看到千位分隔符 例如11 200 00
  • 为什么我的 graphql Context 返回一个空对象

    我按照以下步骤构建了 graphql apollo v4 服务器docs https www apollographql com docs apollo server data subscriptions enabling subscrip
  • ASP.NET Core 中具有身份的自定义 RoleProvider?

    在过去的 MVC 版本中我能够做到
  • django-tinymce 现代主题

    我在让现代主题与 django tinymce 一起使用时遇到问题 简单主题和高级主题都正确渲染 但是当我切换到现代主题时 没有任何渲染 并且在控制台中收到 static tiny mce themes modern editor temp
  • 动态内存分配有不需要的输出[重复]

    这个问题在这里已经有答案了 所以我上周开始学习C 自然地 我想熟悉整个指针和面向对象的业务等等 为此 我正在编写一个非常简单的程序来进行一些基本的矩阵计算 include
  • SQL查询中没有重复项

    我正在 MySQL 中使用内部联接进行选择 SELECT DISTINCT tblcaritem caritemid tblcar icarid FROM tblcaritem INNER JOIN tblprivatecar ON tbl
  • 每周触发通知 Swift 3

    我正在尝试制定一个时间表 其中我需要记住我上课的所有几周 例如星期一的某个时间 问题是 如果我在打印变量triggerWeekly时指定weekday 1 星期日 它会告诉我weekday 2 因此通过执行测试我不会收到此类通知 我需要知道
  • 为什么JPA实体类有一个实体名加下划线的类

    我是 JPA 新手 我创建了一个如下所示的类 package programme import javax persistence Access import javax persistence AccessType import java
  • 递减字母值

    我试图弄清楚如何将数组中的一堆字母值向下移动一步 例如 我的数组包含值 d e f g h 我想将其更改为 c d e f G 这是我正在使用的代码 function move up left x if x orientation down
  • iTextSharp 表格宽度为页面的 100%

    我正在尝试使用 iTextSharp 将表格添加到文档中 这是一个例子 Document document new Document PageSize LETTER 72 72 72 72 PdfWriter writer PdfWrite
  • 重命名所有列名称以用于大查询中的连接目的

    我需要连接两个具有完全相同列名的表 我需要在加入步骤之前重命名列 每个表包含 100 多列 我想知道是否有任何方法可以添加前缀或后缀来重命名所有列 而不是手动更改它们AS 我在 BigQuery 上使用标准 SQL 我在下面举了一个例子来说
  • 如何对集合中所有对象的属性执行 .Max() 并返回具有最大值的对象[重复]

    这个问题在这里已经有答案了 我有一个具有两个 int 属性的对象列表 该列表是另一个 linq 查询的输出 物体 public class DimensionPair public int Height get set public int
  • 为什么c#不能计算数学函数的精确值

    为什么c 不能做任何精确的操作 Math Pow Math Sqrt 2 0 2 2 0000000000000004 我知道双打是如何工作的 我知道舍入误差来自哪里 我知道它是almost正确的值 我知道你不能在有限的双精度数中存储无限的
  • 如何配置 HTML Purifier 以允许图像 src 的数据 URI?

    如何允许图像标签的 src 属性使用 Base64 数据 我看到这样的代码 config gt set URI AllowedSchemes array http gt true https gt true mailto gt true f
  • Windows批处理脚本取消隐藏被病毒隐藏的文件

    由于我看到很多人的文件被闪存驱动器病毒隐藏 因此我为他们提供了一个 Windows 命令行 使用attrib 或使用Linux 来解决当受感染的文件被删除并且它们的文件仍然 丢失 时的问题 删除文件和文件夹属性系统 隐藏和归档的命令 并非真
  • 当父线程退出时,Java 守护线程会自动终止吗?

    如果一个线程创建了一个守护线程 我可以相信当父线程退出run方法时 子线程也会终止吗 否 线程是独立的 一个线程 拥有 另一个线程并强制终止是没有意义的 如果你是really询问当应用程序中的所有非守护线程都已死亡时 您是否可以依赖进程死亡
  • 为 api 26 设置 Gradle (Android)

    由于我已将 Nexus 5x 升级到 Android O DP3 我无法测试我的应用程序 我收到错误消息是因为没有配置我的 Gradle 文件以使用新的 API 级别 26 所以我更改了它和依赖项 但我在所有支持库上不断收到错误 例如 Fa
  • Google Service Plugin 3.2.0 导致 Gradle 构建失败

    我正在尝试更新 Google 服务插件 但在 Gradle 同步期间收到错误 项目刷新失败 错误 未找到匹配项 版本 3 1 1 一切正常 但一旦我将 build gradle 更新为 classpath com google gms go
  • Angular 1.5 & ES6 - 依赖注入

    我是 Angular 新手 我正在尝试使用 ES6 我的依赖注入有问题 我无法让它工作 我的index js import index state css import angular from angular import angular