我正在尝试运行Angular应用程序时在Chrome DevTools中运行代码段。片段似乎在Angular应用程序中无法像在普通Javascript应用程序中那样有效。
我的代码段很简单:
(function(val) {
console.log(val);
})('blah')
我运行此代码段,它打印出来了。
我运行一个Javascript应用程序并在某个点处中断,然后从该应用程序中传入一个变量,该变量在该中断点的作用域内,它会打印出该变量的值,如下所示:
(function(val) {
console.log(val);
})(variableFromJavascriptApplication)
但是后来我用我的Angular应用程序尝试了这个,没有骰子:
(function(val) {
console.log(val);
})(this.publicVariableFromAngularClass)
它只是告诉我“未定义”。
如果我稍加更改并以这种方式定义函数:
const test = function(val) {
console.log(val);
}
...并从我的Angular应用程序添加对test()的调用,它说“ test不是一个函数”。当我尝试直接从DevTools调用test()时,效果相同。
一个调用如何在Angular应用程序的代码片段中起作用?
尝试通过window
共享功能来公开您的功能>