javascript - Typescript Dynamics CRM window.parent

标签 javascript typescript dynamics-crm crm typescript-typings

因为我在我的 CRM 功能中使用了 webresource,所以我需要使用

window.parent.Xrm.Page...etc 

访问实体数据。

不幸的是,当我用 typescript 写的时候,这个结构不会编译。现在我只是在 Xrm.Page 之前添加 window.parent...(我有 Xrm 类型),但这与 TypeScript 的想法相去甚远。有没有什么方法可以让我以正常、优雅的方式调用 window.parent.Xrm?我正在使用 Visual Studio

最佳答案

我想没有办法绕过通过 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();

关于javascript - Typescript Dynamics CRM window.parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37939904/

相关文章:

javascript - AJAX、JSON、PHP 联系表单、event.preventDefault 不起作用且数据未发送到电子邮件

javascript - 每个 v-for 循环有多个 <td> 元素

node.js - 使用 Typescript 在 Mongoose 中链接 ES6 Promise

angular - 如何使用动态值将 "name"属性添加到 <mat-cell> 或 <mat-row>?

javascript - 如何在自定义子窗体上完成操作后刷新 CRM Dynamics 5.0 中的父窗体?

javascript - Dynamics 365。字段值 (javascript)

仅 Javascript Web 服务调用

javascript - 我该如何重构这个?

Javascript: "this"在这种情况下有用还是必要的?

angular - Angular 2 的 UI 可排序插件