首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Dynamics 365功能区按钮中使用JS实现奇怪的命名空间上下文行为

在Dynamics 365功能区按钮中使用JS实现奇怪的命名空间上下文行为
EN

Stack Overflow用户
提问于 2020-08-04 22:40:52
回答 1查看 73关注 0票数 0

我已经为我的Dynamics 365功能区按钮单击事件编写了以下Javascript代码。

代码语言:javascript
复制
var SampleNamespace = SampleNamespace || {};
SampleNamespace = {
 someVariable : 'xyz',
 clickMeFromRibbon: function(){
  // this = window in classic UI | this.iWillDoSomething() - Error
  // this = SampleNamespace in Modern UUI | this.iWillDoSomething() - Works fine
 },
 iWilDoSomething : function(){
  // Doing some other helper operations
 }
}

在功能区按钮单击中,我已指定要调用的以下函数

代码语言:javascript
复制
SampleNamespace.clickMeFromRibbon

你知道为什么this的引用不同吗?我们如何通过有效的命名空间在这两个环境中工作来解决这个问题?

PS :我在javascript中尝试了多种不同类型的命名空间,但都出现了同样的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-05 21:08:06

您可以使用不同的方式处理名称空间,这对我来说很好:

代码语言:javascript
复制
var SampleNamespace = (function(){
    var someVariable = "xyz";

    function clickMeFromRibbon(){
        //you can call iWilDoSomething from here without using namespaces
    }

    function iWilDoSomething(){
    }

    return {
        clickMeFromRibbon: clickMeFromRibbon,
        iWilDoSomething: iWilDoSomething
    };
})();

//Also SampleNamespace.clickMeFromRibbon and SampleNamespace.iWilDoSomething are available externally

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63249260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档