第二种简单方式创建模型控制器的方式

复制代码
var exports = this;

(function($){
 var mod = {};
 //返回Controller模型
 mod.create = function(includes){
  var result = function(){
   this.init.apply(this, arguments);
  };

  result.fn = result.prototype;
  
  result.fn.init = function(){};
  result.proxy = function(func){
   return $.proxy(func, this);
  };
  result.fn.proxy = result.proxy;

  result.include = function(ob){
   $.extend(this.fn, ob);
  };
  result.extend = function(ob){
   $.extend(this, ob);
  };
  //将传入的对象扩展制模型
  if(includes) result.include(includes);

  return result;

 };

 exports.Controller = mod;


})(jQuery);

//在文档加载完毕后创建控制器
jQuery(function($){
 var ToggleView = Controller.create({
  init: function(view){
   this.view = $(view);
   this.view.bind('mouseover',true, this.proxy(this.toggleClass));
   this.view.bind('mouseout',false, this.proxy(this.toggleClass));
  },
  toggleClass: function(e){
   this.view.toggleClass('over', e.data);
  }
 });

 //实例化控制器, 调用init();
 var tv = new ToggleView('#view');
 console.log(tv);
});
复制代码

==================这里是分割线====================

这种方式创建的控制器模型,是在文档加载完毕后才初始化控制器
 
 
 
 
 
posted @   池中物王二狗  阅读(145)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
转载入注明博客园 王二狗Sheldon Email: willian12345@126.com https://github.com/willian12345
点击右上角即可分享
微信分享提示