为何我的单例调用不了(如何交叉required)

我是仿照example-cases里面的singleton写的,就是单例依附到一个node上面,

var Robot = require("Robot");
var FishMng = cc.Class({
    extends: cc.Component,

    properties: {
        ...
    },

    statics: {
        ins: null
    },
    
    onLoad: function () {
        FishMng.ins = this;
    },
});

//Robot.js
var FishMng = require("FishMng");

var Robot = cc.Class({
    extends: cc.Component,

    properties: {
        fishpond : cc.Node,
},
    update: function (dt) {
        if (几秒钟过后) {
                var coins = FishMng.ins.getAverageCoins();
        }
    },

TypeError: FishMng.ins is undefined

我以前不依附到Node上面的单例,反而访问没有问题。难道这种单例只能通过参数传递

这一条忽略

onLoad: function () {
FishMng.ins = this;
},

正确写法是
FishMng.instance = this;

兄弟你细心点

改成instance 一样的, 这个没要求的, abc也行

我知道了,不能交叉require (就是FishMng require 了Robot , Robot就不能 require FishMng )
那如果需要交叉require的地方, 怎么写

拆分你的逻辑,不要交叉 require 即可。如果其它拆分不了的类型定义,还可以参考 http://docs.cocos.com/creator/manual/zh/scripting/reference/class.html#属性延迟定义

学习一下Creator的做法,弄一个全局的对象比如Creator是cc来存放单例,就不会交叉了噻.

谢谢哈