由于我在CRM功能中使用webresource,我需要使用
window.parent.Xrm.Page...etc
访问实体数据。
不幸的是,正如我在typescript中写的那样,这种结构不会编译。现在我只是在window.parent
之前添加Xrm.Page
...(我得到了Xrm打字)但这离TypeScript的想法很远。是否有任何方式,一些类型,让我以正常,优雅的方式调用window.parent.Xrm?我正在使用Visual Studio
答案 0 :(得分:0)
我想如何绕过通过window.Xrm
对象获取根引用是没有办法的,但是你可以封装它,所以只发生一次。
如果你使用正确的ts模板 - 即:
Install-Package xrm.TypeScript.DefinitelyTyped
应该很简单
class Bar {
constructor(private xrm: Xrm.XrmStatic) {}
foo() {
//work in strongly typed world
//return this.xrm.Page....;
}
}
而不仅仅是像
那样初始化它var bar = new Bar(window.Xrm);
bar.foo();
答案 1 :(得分:0)
我在typescript中使用@Scheduled(cron = "59 * * * * *")
来使用(<any>window.parent).Xrm.
进行无错误编译。例如:
window.parent.Xrm