gpt4 book ai didi

javascript - 如何在javascript模块之间进行通信......?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:30 24 4
gpt4 key购买 nike

在我的应用程序中有几个模块各自负责,这就是我有些困惑的地方..

  1. 模块之间如何通信?

  2. 如何通知或倾听模块之间的信息,以便为适当的场景做出决定?

例子:

模块 1,

var MyModule1 = (function() {
var myPrivateData = 303;
function myPrivateFunction() {
alert('private');
}
return {
myPublicData : 42,
myPublicFunction : function() {
alert('public');
}
};
})();

模块 2

var MyModule2 = (function() {
var myPrivateName = privatized;
function myPrivateFunction() {
alert(myPrivateName) ;
}
return {
myPublicData : 42,
myPublicFunction : function() {
alert('public');
}
};
})();

我怎样才能让他们既能交流又能倾听对方的意见……?谁能用一些小例子澄清一下?我需要共享共享给 module2 的 privateData 和与 module1 共享的 myPrivate 名称,以防触发任何点击事件。

提前致谢!

最佳答案

这是浏览器中松散耦合模块组织的基本概念:

当 module1 中的代码需要通知其他人一些事件时,它会这样做:

$(document).trigger( "some:event", someData);

如果 module2 需要通知“some:event”,则应在其初始化代码中执行此操作:

$(document).on( "some:event", function(evt,someData) {
// ... do something with the data ...
} );

在这个架构中,两个模块是完全独立的。他们唯一应该知道的是他们正在与之通信的事件的名称。

关于javascript - 如何在javascript模块之间进行通信......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19066037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com