3

我们正在我们的 CRM 2011 项目之一中使用 TypeScript 实现我们的客户端逻辑。到目前为止,一切都很好。

但是,Xrm2011.1_0.d.ts 文件中有关部分的内容似乎有所不同。选项卡和部分定义如下:

module Xrm {
    export module Page {
        ...
        export module ui {
            ...
            export module tabs {
                ...
                export function get(tabName: string): Tab;
                ...
                export module sections {
                    ...
                    export function get(sectionName: string): Section;
                    ...
                }
            }
        }
    }
}

这迫使您像这样实现打字稿:

var section = <Xrm.Page.Section>Xrm.Page.ui.tabs.sections.get(sectionName);

编译为:

Xrm.Page.ui.tabs.sections.get(sectionName); 

但是,正确的 JavaScript 语法应该是:

Xrm.Page.ui.tabs.get(tabName).sections.get(sectionName);

有没有人经历过这个?我在这里错过了什么吗?

提前致谢。

4

1 回答 1

0

最后一种语法不起作用。Tab 不是一个类,因此 tabs.get 返回一个 Tb 类,但 Tab 类没有 .sections 属性。你也不应该需要投射。

Ps .... 尝试使用点符号“export Xrm.Page.ui.tabs”声明您的模块。它将使您的代码更具可读性。

另外,是什么让你把一些类设为大写而另一些不是?

于 2013-06-24T05:43:55.237 回答