模型与支持之间的单向沟通

时间:2012-10-01 19:04:02

标签: javascript

在下面的小提琴中,我希望Mo能够拨打Su而不是相反。

我该如何实现呢?我不想使用事件。只是JavaScript的原生功能。

模型是MVC中的传统模型。支持包含模型运行所需的支持功能。

Mo - >苏

http://jsfiddle.net/bkYcr/2/

1 个答案:

答案 0 :(得分:1)

如果您不想要“其他任何访问Mo”,您可以将Mo设为私有。它是通过将函数Model放入构造函数中完成的。

$Frame.Model = function(model_object){
    var privateFunc = function() {
        //Private function of Model objects. Can access Su.
    }
    this.publicFunction = function() {
        //Public function of Model objects. Anyone can access this by Mo.publicFunction(). Also can access Su.
    }
}

此功能是一个CONSTRUCTOR。所以要做Mo,做

Mo = new $Frame.Model();

记住不要忘记新的。否则事情搞砸了。为了防止“混乱”(发生这种情况,因为如果您忘记了新内容,构造函数中的内容会引用window),请执行以下操作:

$Frame.Model = function(model_object){

    if (!(this instanceof $Frame.Model))
        return new $Frame.Model();
    var privateFunc = function() {
        //Private function of Model objects. Can access Su.
    }
    this.publicFunction = function() {
        //Public function of Model objects. Anyone can access this by Mo.publicFunction()
    }
}