0

给定以下代码:

JE.events = {
  self: this,
  controller: {
    init: function(){            
        $(".monthheader").click(function () { 
            JE.events.model.get($(this).attr('title')); 
            return false;
        });

        return this;
    }
  },

  model: {
    get: function(monthnum){
        ...
    }
  }

}

我将如何替换调用

JE.events.model.get(..);

通过类似的东西

self.model.get(..);

整个代码或多或少都在这个要点https://gist.github.com/966270中。这个想法是在 js 中创建一个非常简单的 MVC(我的第一次尝试),我可以轻松地重用它。欢迎改进!

4

1 回答 1

0
JE.events = (function {
  // Create closure

  // Declare controller and model as local
  var Controller = {
    init: function(){            
        $(".monthheader").click(function () { 
            Model.get($(this).attr('title')); 
            return false;
        });

        return this;
    }
  }

  var Model = {
    get: function(monthnum){
        ...
    }
  }

  // return object thats assigned to JE.events
  return {
    controller: Controller,
    model: Model
  }

)();

您可能还想查看轻量级 MVC 框架的主干脊椎。

它们给你一些简单的抽象和大量的控制。还有小而简单的。

如果我要从头开始编写一个微型 MVC 框架,它将收敛到主干或主干,因此使用这两者中的一个可能会更好。

于 2011-05-11T11:39:37.973 回答