gpt4 book ai didi

angularjs - 如何从 Angular 应用程序捕获控制台中的 $state 对象以进行调试?

转载 作者:行者123 更新时间:2023-12-04 19:26:16 24 4
gpt4 key购买 nike

我想在我的 Angular 应用程序中执行$state.reload()以进行调试。请参阅此相关问题 how-do-i-reload-an-angular-partial-for-testing-purpose

但是,我无法捕获应用程序中的 $state,它甚至没有公开 $rootScope 对象?我通过执行此操作成功获得了 $rootScope,如 how-to-access-update-rootscope-from-outside-angular 所示。

var $body = angular.element(document.body);
var $rootScope = $body.scope().$root;

然后如 Wiki 中所述

var myApp = angular.module('myApp', []);
angular.module("myApp").run(function ($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
});

但是这没有对 $rootScope.$state 设置任何内容,认为 $rootScope 现在可以访问。有什么帮助吗?我使用的是 Angular 1.3.x。

编辑:即使这样也行不通,

angular.module("myApp").run(function ($rootScope, $state, $stateParams) {
console.log("Testing");
});

最佳答案

考虑到 AngularJS 应用程序是在 body 上引导的,应该可以通过以下方式获取服务实例

angular.element(document.body).injector().get('$state');

无需将其暴露给范围。

关于angularjs - 如何从 Angular 应用程序捕获控制台中的 $state 对象以进行调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46493991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com