由于我在CRM功能中使用了webresource,因此我需要使用
window.parent.Xrm.Page...etc 访问实体数据。
不幸的是,当我在typescript中写的时候,这个结构不能编译。现在,我只是手动在Xrm.Page之前添加window.parent ...(我得到了Xrm类型),但这与TypeScript的想法相去甚远。有没有什么方法可以让我以一种正常、优雅的方式调用window.parent.Xrm?我正在使用Visual Studio
发布于 2017-03-07 21:14:33
我猜没有办法通过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();发布于 2017-11-09 21:42:45
我在typescript中使用(<any>window.parent).Xrm.来获得与window.parent.Xrm的无错误编译。例如:
let nameAttr = (<any>window.parent).Xrm.Page.data.entity.attributes.get("name").getValue()https://stackoverflow.com/questions/37939904
复制相似问题