角度 2 不透明令牌

2024-01-06

需要一些有关提供 OpaqueToken 的帮助。使用 Angular 2 beta-12。如果提供程序密钥是字符串,则它可以正常工作,但在使用 OpaqueToken 时则不起作用。在 Child 类中,SF 未定义。

家长班级:

export let SF = new OpaqueToken('sf');

export class A {
  testMsg: string = 'hello';
}

@Component({
  template: `<child></child>`,
  providers: [
    provide(SF, {useValue: A}),
    provide('justString', {useValue: 'hi'}) 
  ]
})
export class App {}

儿童班:

import {Component, Injector, Inject, OpaqueToken} from 'angular2/core'
import {SF, A} from './app'
console.log("******", SF); // undefined
@Component({
  selector: 'child',
  template: `
    $$CHILD Rendered$$ {{a}}
  `
})
export class Child {
  //constructor(@Inject(SF) private a: A) {} // doesn't work
  constructor(@Inject('justString') private a: string) {}
}

我得到的异常:

angular2.min.js:17异常:无法解析“Child”的所有参数(@Inject(未定义))。确保所有参数都用 Inject 修饰或具有有效的类型注释,并且“Child”用 Injectable 修饰。


这是因为包含父类和子类的模块之间存在循环依赖关系。

如果您将不透明令牌定义到第三个模块中并将其包含在其他模块中,它将起作用。

例如常量模块:

export let SF = new OpaqueToken('sf');

在另外两个模块中:

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

角度 2 不透明令牌 的相关文章

随机推荐

  • 如何恢复Android Fragment视图状态

    我有申请titles片段和contents屏幕上的片段 当用户单击标题片段中的项目时 将创建相应的片段并将其插入到框架中 并且所选标题在标题片段中突出显示 交易完成fragment addToBackStack 所以当用户点击BACK键 恢
  • 如何开始构建 VSTi 插件?

    我想知道构建 VSTi 插件的确切方法是什么 我不希望在短短几周内编写下一个 Massive 因为我不了解 DSP 也没有非常基本的编程技能 我确信这可能高于我目前的水平 但我认为如果我给自己设定一个我非常感兴趣的高目标 我就会成长为一名程
  • Facebook Graph API:在调用 FB.init() 之前调用 FB.login()

    我正在尝试在我的网站上使用新的 Facebook Graph API 这就是我所拥有的 页面上的某处
  • 如何在 Javascript 中映射替换字符(类似于 Perl 中的“tr”函数)?

    我一直在试图弄清楚如何将字符串中的一组字符映射到另一组类似于trPerl 中的函数 I found 这个网站显示了 JS 和 Perl 中的等效功能 http www lemoda net perl perl js perl js html
  • 使用 api.rpc. payment.queryFeeDetails 获取外部费用

    我想用api rpc payment queryFeeDetailsAPI 调用 https polkadot js org docs substrate rpc queryfeedetailsextrinsic bytes at bloc
  • Android NDK 在 CallObjectMethod 调用 getSystemService 中崩溃

    这是我问的另一个问题的后续 Android 从JNI获取MEID https stackoverflow com questions 11643498 android get meid from jni 我正在尝试获取 Android 手机
  • 访问Python列表中的元素

    我的答案列表如下 answers defaultdict
  • 在 R 中使用 tryCatch() 在循环中分配错误值

    我正在努力了解 R 中 tryCatch 的说明 我正在尝试捕获股票的收盘价 案例 2 好案例 TickersJuly2 独特的价格与股票代码关系 情况 1 坏情况 TickersJuly1 FABU 收盘价是 CETX 的重复 对于 FA
  • 以编程方式估计 Android 手机电池耗尽的时间

    因此有一些方法可以通过监听器获取当前的电池电量 但是 这些可以为您提供手机当前电池状态的值 但无法指示电池耗尽的速度有多快 慢 有什么方法可以估计电池耗尽之前的剩余时间 你能做任何知道电压是多少的事情吗 或者也许可以监控一段时间内电池消耗的
  • android recyclerview加载更多按钮[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有教程 示例包含带有 recyclerview 的加载更多按钮 我需要在 recyclerview
  • 控制鼠标键盘Golang?

    如何在操作系统 X11 级别上控制检索 设置鼠标位置并触发键盘事件 这与中的功能类似Java 中的机器人类 http docs oracle com javase 7 docs api java awt Robot html 我知道很可能不
  • 如何在AppBundle中添加视图?

    我正在尝试在 symfony3 中进行实验 我试图在谷歌上搜索它 但我没有找到他们明确的答案 这是 symfony 中的默认控制器 class DefaultController extends Controller Route name
  • Anaconda navigator 和 activate.bat 在 Windows 中出现空格问题

    最近 我突然开始遇到 Anaconda 提示符和使用 VS Code 启动 jupyter 实例的问题 存在 访问被拒绝 错误 但即使作为管理员 我也收到一个错误 该错误提示我路径中存在空格问题 我从来没有遇到过这个问题 并且 anacon
  • discord.py 中的 Cog 和 Extension 有什么区别?

    在discord py文档中 有 扩展 https discordpy readthedocs io en stable ext commands extensions html https discordpy readthedocs io
  • 获取 Puppeteer 中 XPath 的所有链接(暂停或不起作用)?

    我需要使用 XPath 选择页面上的所有链接 然后我的 Puppeteer 应用程序才能单击并执行一些操作 我发现该方法 下面的代码 有时会卡住 我的爬虫会暂停 是否有更好 不同的方式从 XPath 获取所有链接 或者我的代码中是否存在不正
  • Firefox 中可点击的电话协议标签

    我有一个非常标准的电话号码标签 它适用于一切except火狐 我认为电话协议是标准的 有我不知道的解决方法吗 a class tel href 800 123 4567 a 火狐浏览器错误信息 地址不明白 Firefox 不知道如何打开此地
  • java 中最好的 XML 解析库是哪个 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Rails 范围查找当前用户

    我使用 Rails 3 和 Devise 进行用户身份验证 假设我有一个启用了 Devise 的用户模型和一个产品模型 并且用户有很多产品 在我的产品控制器中 我希望我的 find 方法的范围由 current user 确定 即 prod
  • 为什么 Heroku 会给出权限被拒绝的错误?

    When git clone v email protected cdn cgi l email protection testabcde git Cloning into testabcde Heroku 回归 Permission de
  • 角度 2 不透明令牌

    需要一些有关提供 OpaqueToken 的帮助 使用 Angular 2 beta 12 如果提供程序密钥是字符串 则它可以正常工作 但在使用 OpaqueToken 时则不起作用 在 Child 类中 SF 未定义 家长班级 expor