在Angular中,我的eval()
在正确的上下文中无法正常工作。
我只想用eval('console.log(this.sharedservice.var1)');
之类的简单东西进行测试,但是说Cannot read property 'sharedservice' of undefined
,所以它不知道this
是什么。
当我尝试执行解决(0, eval)(script);
问题的this
时,它说Cannot read property 'var1' of undefined
。所以知道它不知道sharedservice
是什么。但是在组件的构造函数中,我确实有private sharedservice: SharedService,
。如何帮助eval查看组件的构造函数值?
请不要建议不要使用eval,请耐烦此论点。
答案 0 :(得分:0)
您不应使用eval
。这是您将从很多人那里听到的。如果您仍然想使用eval,可以尝试以下操作:
export class BadIdea {
constructor(private sharedservice: SharedService) {
((evalThis) => eval(evalThis)).call(this, 'console.log(this.lm.test)');
}
}