【问题标题】:pass self.kwindow var to imported function将 self.kwindow var 传递给导入的函数
【发布时间】:2020-05-01 00:10:41
【问题描述】:

我正在将我的 doIt 函数移动到另一个单独的文件,因为它变得如此之大。

这样做后,我的self.kwindow 在新文件./doIt.js 中变为未定义

我尝试将其作为参数传递,i.e. 下面但没有。这是怎么做到的?

./big.js

    import { doIt } from './doIt.js';

    // lots of other JavaScript functions

    self.kwindow = initWindow();

    setTimeout(() => { 
      doIt (self.kwindow); <-- recent attempt as param
    }, 90);

    // previously doIt function was here self.kwindow worked in this scope

./doIt.js (现在在新的单独文件中)

    function doIt () { 
      // lots of stuff, many references to self.kwindow
      // self.kwindow no longer recognized in this scope
    }

    export {
       doIt,
     };

【问题讨论】:

    标签: javascript ecmascript-6 import kendo-ui export


    【解决方案1】:

    你不需要传递参数,只需在那个.js中通过jQuery调用一个窗口的实例:

    function doIt () { 
       var kwindow = $("$window").getKendoWindow();
    }
    

    【讨论】:

    • 但是我有很多 kendoWindows 我不只是想声明和引用一个随机的通用的?它需要在 ./big.js 范围内保持同一个 kendowindow 的线程..
    【解决方案2】:

    如果对任何人有帮助;我通过以下扩大范围来使其工作。然后在两个doit(wkindo) 实例中传递wkindo

    setTimeout(() => { 
      var wkindo = self.kwindow;
      doIt(wkindo);
    }, 90);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2019-07-30
      相关资源
      最近更新 更多