繁体   English   中英

如何从浏览器控制台访问组件控制器?

[英]How to access the component controller from browser console?

在angular 1.x中,使用ng-controller ,可以通过检查元素并调用angular.element($0).controller()从浏览器控制台访问控制器实例。

这不适用于声明为:

angular.module('foo').component('bar', {
    controller: class {

    }  
});

还有其他方法可以从控制台访问组件的控制器实例吗?

似乎最接近我们访问组件控制器的地方是:

angular.element($0).scope().$ctrl

手册所述

controller(name)-检索当前元素或其父元素的控制器。 默认情况下,检索与ngController指令关联的控制器。 如果提供名称作为camelCase指令名称,则将检索该指令的控制器(例如'ngModel')。

它是angular.element($0).controller('bar')

对于组件,可以缩小到

 angular.element($0).controller(
   $0.tagName.toLowerCase().replace(/-([a-z])/g, (_, c) => c.toUpperCase()))
 );

需要一行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM