如何使用 ES6 $inject 到 Angular 类中

2023-11-23

使用带有 ES6/7 和 Babel 的 Angular 1.4,我可以在类块后面使用以下代码成功地将参数注入到名为 Controller 的类中:

class Controller {
    constructor($scope, $state, $window) {...}
    ...
}
Controller.$inject = ["$scope", "$state", "$window"]

但是,在构造函数上方看到注入参数会更清晰。我见过其他人使用 static $inject,但我收到错误。这是我正在尝试的:

class Controller {
    static $inject = ["$scope", "$state", "$window"]
    constructor($scope, $state, $window) {...}
    ...
}

为什么会导致这个错误?这似乎对其他人有用。

Unexpected token (2:11)
  1 | class Controller {
  2 |     static $inject = ["$scope", "$state", "$window"]
    |  
              ^

这是一个实验性的建议语法。在 Babel 中,你必须启用es7.classProperties. Pass

optional: ['es7.classProperties']

巴别塔。确切的方法取决于您的转译方式。

如果你想做标准的 ES6,你也可以这样做

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

如何使用 ES6 $inject 到 Angular 类中 的相关文章

  • 与仅调用依赖函数/类相比,在 FastAPI 中使用 Depends 有哪些优点?

    FastAPI 提供了way https fastapi tiangolo com tutorial dependencies 通过其自己的依赖关系解析机制来管理依赖关系 例如数据库连接 它类似于一个pytest夹具系统 简而言之 您在函数
  • Javascript 然后没有承诺返回值

    也许我没有正确谷歌搜索 不带参数的 then 函数不会阻塞吗 例如 你有一个承诺 someFunc gt return new Promise res rej gt somethingAsync input then val gt res
  • AngularJS:理解 $rootScope.$on('$routeChangeSuccess

    我正在开发登录页面 成功后 它会重定向到主页 默认情况下 我显示登录页面以下代码 app run function rootScope location rootScope on routeChangeSuccess function lo
  • ui-sref 和变量状态参数名称

    我想呈现一个链接 例如 a 其中州名myState和钥匙myKey是变量 有办法做到这一点吗 我发现自己处于同样的情况 我也无法完成这一点 尝试使用 ng click 移动代码 并在 ng click 函数内部使用 stage go htt
  • 无需编译的 ES6 单元测试

    我无法找到任何 Mocha 或任何其他通过 Gulp 直接在 ES6 代码上运行的单元测试框架的示例 没有 Babel Webpack 等 我找到了一个在浏览器中使用 ES6 代码运行 Mocha 的示例 经过一些修改 但它不是自动化的 有
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • Angularjs 循环遍历 $http.post

    当我循环遍历 Angularjs 的 http post 服务时 for var i 0 i lt scope tagStyles length i scope profilTag tag scope tagStyles i id tag
  • 通过外部控制进行 AngularJS 智能表过滤

    我试图找出合并 st table st safe src 的正确方法 并通过表本身之外的控件过滤数据 用户可以添加 编辑和删除数据 这就是我使用安全源的原因 任何例子或反馈都会很棒 查看此示例 其中包含从智能表中添加 编辑 删除行的选项 h
  • Angularjs - 如何纠正来自另一个不依赖的模块的注入服务?

    我不明白模块化如何工作 I have 3 modules they are dependent on each other as shown in the picture App 模块包括 module1 和 module2 module2
  • 喜欢和不喜欢用户对产品的评论

    用户架构 var UserSchema new Schema review likes type String review dislikes type String 审查架构 var ReviewSchema new Schema pro
  • ES6 类文字中的 IIFE

    在 ES5 中我们都可以这样做 myClass prototype myMethod function return function 我可以对 ES6 类文字执行同样的操作吗 不 至少现在还没有 ES6 类仅支持声明方法 因此任何不直接为
  • 为什么还是filter和orderBy的优点呢?

    看来 AngularJS 确实非常重视在视图中使用过滤器和其他 ng 指令来过滤和排序数据 而不是在模型中手动执行 这有什么原因吗 比如速度更快 有缓存还是其他原因 例如 我想显示一个已排序的列表 但我也想访问已排序的列表以用于与视图无关的
  • for 循环内的 Promise 的 setTimeout

    我想做的是这样的 循环数据集合 对于每个数据元素调用 API 等待 Promise 失败或解析 暂停 30 秒 然后对下一个数据元素再次执行此操作 直到没有任何内容可以迭代集合 最后显示 完成 消息 到目前为止 这是我编写的代码 在其他问题
  • AngularJS 和 PouchDB 服务的单元测试

    我正在尝试对我的个人 Angular 工厂进行单元测试 但很难尝试正确模拟和注入 PouchDB 对象 我的工厂代码目前如下 factory Track function var db new PouchDB tracks var reso
  • Angular 完成渲染后运行 jQuery

    我正在尝试使用 angularjs 中的 json 对象填充个人资料页面 我正在为此使用指令 我有一个配置文件指令 其中包含配置文件部分指令作为子项 配置文件部分具有作为子级的配置文件子部分指令 我需要在 Angular 开始编译之前和 A
  • Angular 和 Node JS 中的路由问题 [Angular]

    我有角度js的问题 我创建了 login html 和 home html 成功登录后我想将页面更改为 home html 我的路由不起作用 默认 url 是 localhost angular 我尝试路由 realpath 即 local
  • 使用 name 属性的动态指令控制器

    我正在尝试使用动态控制器实现指令 以便我可以根据某些条件绑定控制器 就像托德 莫托 Todd Motto 所展示的那样here https toddmotto com dynamic controllers in directives wi
  • .Net 6 控制台应用程序:WebApplication.CreateBuilder 与 Host.CreateDefaultBuilder

    我正在研究 NET 6 并希望构建一个简单的控制台应用程序 并进行一些依赖项注入 据我所知 为了使启动 现在只是程序 文件更具可读性 已经做了很多工作 让我有点困惑的是 所有改进似乎都是针对 API 项目中使用的 WebApplicatio
  • 使用 jQuery 值更新 Angular 模型

    您好 我有一个附加在我的模型上的输入字段 当用户手动输入该字段时 会在更改时调用一个函数 这工作正常 并且模型按预期在控制台日志中反映
  • 从 url 角度加载模板并在 div 内编译

    由于我是 Angular JS 的新手 我想知道如何加载外部模板并将其与一些数据一起编译到目标中div 例如我有这个模板

随机推荐