angular - 在 Angular 8 的控制台(来自 devtools)上访问 Angular 的正确方法是什么?
问题描述
我正在运行 Angular 8。遵循此处可能已过时的建议——如何从控制台测试 AngularJS 服务?,我正在尝试从 Chrome devtools 控制台访问 Angular 服务。以下是令人失望的输出
Angular is running in the development mode. Call enableProdMode() to enable the production mode.
injector = angular.element(document.body).injector()
VM914:1 Uncaught ReferenceError: angular is not defined
at <anonymous>:1:1
在 Angular 8 的命令行中访问 Angular 的正确方法是什么?
解决方案
您可以只保存全局注入器类的引用
main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
if (environment.production) { // production
enableProdMode();
} else { // development
const platform = platformBrowserDynamic();
window['injector'] = platform.injector;
}
更新!!
其他选项,不存储全局注入器的引用
const inj = ng.probe(document.querySelector('app-root')).injector;
推荐阅读
- python - Python在简单函数中给出意外的返回值
- mysql - 导入 .csv 数据集时如何允许 DOUBLE 在 mysql 工作台中取 NULL 值?
- c# - 将证书添加到 RestSharp
- javascript - 为什么我对点击事件的反应没有触发函数调用?
- angular - 如何使用 ngFor 遍历对象数组中的对象数组?(角度 8 +)
- azure - 无法删除我的主 AD 目录下的 Azure AD 目录
- javascript - Javascript - 允许选择数字、退格键、箭头键和移位
- r - 在 R 中从长格式到宽格式
- testflight - 具有多个版本的 TestFlight 构建:是否可以返回?
- r - 如何在 R 中加入多个数据框但排除某些列?