在生产模式下从控制台调用 Angular2 组件方法

2023-12-05

有没有办法在生产模式下调用组件或服务方法?

我知道可以使用以下方式调试应用程序ng.probe并使用 Angular2 调试应用 Augury:https://augury.angular.io/

但是,这些仅在开发模式下有效。


以下是在生产模式下(至少在 Angular 9 中)从控制台访问组件对象的方法。

首先,您需要找到与 Angular 组件相对应的 HTML 元素。你可以使用类似的东西window.getAllAngularRootElements()[0].getElementsByTagName('my-component-tag')[0]。或者您也可以先在 Inspector 工具中找到并选择该组件,然后使用特殊变量$0.

然后,如果这个元素对应于某个 Angular 组件,那么它将有一个特殊的__ngContext__所附财产。它包含 Angular 使用的不同组件属性的数组。数组的项目之一是组件对象本身。该项目的索引可能不同,因此您需要检查__ngContext__自己去寻找它。

即,简单地说,执行以下操作:

o = window.getAllAngularRootElements()[0].getElementsByTagName('my-component-tag')[0].__ngContext__[42];

(假设 42 是您的情况下的正确索引)然后使用o根据需要可变。

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

在生产模式下从控制台调用 Angular2 组件方法 的相关文章

随机推荐

  • python exec() 中的全局变量和局部变量

    我正在尝试使用 exec 运行一段 python 代码 my code class A object pass print locals s locals print A s A class B object a ref A global
  • 创建确定性有限自动机 (DFA) - Mercury

    我想要在 Mercury 中模拟确定性有限自动机 DFA 但我有几个地方很糟糕 形式上 DFA 具有以下特征 一组状态 S 一个输入字母 E 一个转换函数 S E gt S 一个startState s S setOfAcceptableF
  • Java [unchecked] 未检查的情况警告

    好吧 我环顾四周并做了很多谷歌搜索 但我仍然找不到避免此警告的方法 Integer result chooser showOpenDialog null if result equals 0 String tempHolder choose
  • 无法更改 Android 设备中的语言

    我正在尝试在应用程序中更改设备的语言 我有这个代码 Locale locale new Locale en US Locale setDefault locale Configuration config new Configuration
  • Python:访问另一个文件中函数中的变量

    我有两个文件 lib py global var def test var Hello return test py from lib import test print var 但是尽管它们位于同一文件夹中 当我运行 test py 时
  • 从按钮扩展获取所有数据 (Excel)

    我们有一个支持分页的数据表 没问题 需要包含 导出到 Excel 按钮 因此 我们添加了 按钮 扩展 并且可以正常导出数据 问题是这样的 它只导出当前页面的数据 而不是整个数据集 如何获取整组数据 是否可以 dataTable custom
  • 需要 WPF 线角度的算法

    计算 WPF 线的角度 以度为单位 的 正确 算法是什么 你需要atan2 然而 这将为您提供以弧度为单位的角度 转换为度数一定很容易 角度的计算方式为atan2 y2 y1 x2 x1 where x1 y1 and x2 y2 是你的线
  • Powershell:通过 UpgradeCode 卸载应用程序

    当我通过 Powershell 脚本升级 降级我的应用程序时 我想在运行新安装程序之前首先强制卸载当前安装的版本 如何使用应用程序的 UpgradeCode 使用 Powershell 来做到这一点 通过应用程序名称执行此操作会不太健壮 既
  • 单声道,shell 脚本?

    csharp 版本 Mono C 编译器版本 4 0 0 0 允许写入C 脚本 like usr bin csharp Console WriteLine Hello world 我尝试添加 main 函数 但出现解析错误 例如 inter
  • 从 powershell 脚本生成的程序中正常退出

    假设我有以下脚本 originalPath pwd D code ps1 misc title ps1 dynamo db CURPATH PSScriptRoot path txt DB DIR cat CURPATH cd DB DIR
  • 使用 Powershell 通过传入参数来更新 web.config 中 XML 元素的 configSource

    我试图找到一种方法 通过更新 web config 中 appSettings 元素的 configSource 来更新不同环境的 web config 这是我知道的方法 xml get DocumentElement appSetting
  • 如何在Dask中进行行处理和项目分配

    类似的未回答问题 Dask DataFrame 的逐行处理 我正在处理数百万行长的数据帧 因此现在我尝试并行执行所有数据帧操作 我需要转换为 Dask 的此类操作之一是 for row in df itertuples ratio row
  • 我有md5加密的密码,当用户使用“忘记密码”时如何将密码提供给用户?

    我有 md5 格式的密码数据库条目 但是当用户使用 忘记密码 时 我该如何给他 她所需的密码 你不能通过 MD5 哈希来做到这一点 你也不应该能够 密码恢复应该是很棘手的 通常的过程是将密码重置令牌 URL 发送到他们的电子邮件地址 以便用
  • 打开文件后程序崩溃[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我需要将文件中的值读取到我的程序中 文件打开成功 但随
  • ViewFlipper 不随子列表视图一起翻转

    滑动时 ViewFlipper 不工作 如果我放置其他视图而不是列表视图 则翻转效果很好 我还应该为列表视图添加其他代码吗 并且视图翻转器内的滚动视图也不适合我 这是我的 xml 代码
  • 右键单击坐标[重复]

    这个问题在这里已经有答案了 好吧 我正在使用这个函数来获取 X Y 坐标
  • symfony 1.4:如何将异常消息传递给error.html.php?

    我尝试使用特殊变量 message此处描述http www symfony project org cookbook 1 2 en error templates但似乎这个变量没有在 symfony 1 4 中定义 至少它不包含以这种方式传
  • Tensorboard 在端口 6006 上无法正常运行

    我一直在使用张量板时遇到问题 可能是由于 windows10 中的退出不干净造成的 我使用以下代码在 Jupyter 中启动它 load ext tensorboard tensorboard logdir dir 这就是我得到的 ERRO
  • 受约束泛型类型的“As”运算符

    考虑 TTest
  • 在生产模式下从控制台调用 Angular2 组件方法

    有没有办法在生产模式下调用组件或服务方法 我知道可以使用以下方式调试应用程序ng probe并使用 Angular2 调试应用 Augury https augury angular io 但是 这些仅在开发模式下有效 以下是在生产模式下