gpt4 book ai didi

javascript - 在其他类之间共享两个实例

转载 作者:行者123 更新时间:2023-12-03 09:52:55 24 4
gpt4 key购买 nike

我有 4 个 Coffeescript 类,如下所示:

class Main
constructor: (element) ->
@element = $(element)
@one = new One()
@two = new Two(@one)
@dummy = new Dummy(@one, @two)

class One
constructor: (class_two_instance) ->
# do something

class Two
constructor: (class_one_instance) ->
# do something

class Dummy
constructor: (class_one_instance, class_two_instance)
# do something
jQuery ->
new Main($("#main"))

我需要类 One 和类 Two 在所有其他(实际或 future )类之间共享。

我开始做的是将它们作为参数传递,正如您在 Main 类中看到的那样

@dummy = new Dummy(@one, @two)

但是对于One类,我只需要传递@two。对于类 Two 也是如此,我只需要传递 @one

不幸的是,正如您所看到的,似乎不可能同时做到这一点(我无法将 @two 作为 new One() 的参数传递):

@one = new One()
@two = new Two(@one)

有办法解决吗?

最佳答案

在我看来,onetwo 根本不应该是类,而只是单个对象:

one = {
data: "I'm one",
method: () ->
# do something
# if needed, you can use two here
}
two = {
data: "I'm two",
method: () ->
# do something else
# if needed, you can use one here
}
class Main
constructor: (element) ->
@element = $(element)
@dummy = new Dummy()
# if needed, you can use one and two here

class Dummy
constructor: () ->
# do something
# if needed, you can use one and two here

jQuery ->
new Main($("#main"))

关于javascript - 在其他类之间共享两个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30830629/

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