2天前抱着试试看的态度注册了此神博,心血来潮呕心沥血写了一篇关于vue 自定义组件的小文章 尼玛果然一个评论的没有!果然毫无人气!(当然了我这文章内容有限和大神们的比起来简直是粗制滥造。。。)索性我就把这个博客变成自己学习的笔记记录吧或许这个博客的初衷也是如此吧!奈何我这颗当网红的心啊。。。

话不多说进入正题,之前看到各种大神自己用js封装插件 然后到处自己用 真尼玛高大上 要说我这几年页没少学习啊 怎么写个组件都不会呢!就在这时我终于在某网站找到了一个非常适合新手上手自己写插件的教程 感觉受益颇多 今天我就要当一下知识的搬运工分享一下上课的内容也作为自己的日后复习的笔记吧!

首先请了解会用require.js 这个事例使用require.js串联的 这里不再赘述(因为是学习记录所以此处没有展开 但是如果了解require.js后续接内容应该不成问题) 另外在这个课上老师写这个组件也是循序渐进 不断完善的 我的笔记也就一步一步记录了 防止我这猪脑子过几天来看又给忘了(我经常自己昨天干啥都忘记了 没办法老了就这样 请不要嘲笑我)

目的:开发一个自己用js封装的alert弹出组件

define(['jquery'],function($){

  //定义window类 给一些基本的参数配置

  function Window(){

    this.cfg = {
      width:400,
      height:200,
      content:'我是默认文本内容',
    }

  }

  //给window类添加方法

  Window.prototype = {

    var CFG = $.extend(this.cfg,cfg);

    alert:function(cfg){

      var boundingBox = $('<div class="window_boundingBox"></div>');

      boundingBox.appendTo('body')

      boundingBox .html(CFG .content);

      boundingBox.css({

        width:CFG .width,

        height:CFG.height,

        left:(CFG.x || (window.innerWidth - CFG.width)/2)+'px',

        top:(CFG.y || (window.innerHeight - CFG.height)/2)+'px',

      })

      }

    }

  }

  //导出window类

  return {

  Window:Window  

  }

})

下面是在main.js中调用

require(['jquery','window'],function($,w){
  new w.Window().alert({
  width:500,
  height:300,
  content:'新年快乐',
  })
})

这是用js自己封装插件的初级装B阶段 但是在高手看起来还是很low因为这个根本就不完成就是弹出过框子你就告诉我这是alert弹出组件??? 没关系既然有初级装B指南就要有中级 甚至是高级 未完待续。。。

最新文章

  1. Mysql5.6 online ddl
  2. centos6.5无法访问网络
  3. 如何查看Git对象
  4. MFC 丢失MSVCR120D.dll 丢失mfc120ud.dll
  5. iText导出pdf、word、图片
  6. 【周全考虑】CodeForces 245B——Internet Address
  7. Windows平台Go调用DLL的坑(居然有这么多没听过的名词)
  8. 多线程编程 (2) -NSOperation
  9. My Eclipse Security Alert
  10. 苹果ATS特性服务器证书配置指南
  11. PHP 安装配置
  12. vi/vim下看十六进制文件
  13. MVC使用记录
  14. Python local error
  15. 四,ESP8266 TCP服务器(基于Lua脚本语言)
  16. Application 应用对象
  17. 【刷题】BZOJ 2301 [HAOI2011]Problem b
  18. Node.js连接postgres
  19. 感知机PLA算法实现[转载]
  20. asp.net mvc部分视图的action中获取父级视图信息

热门文章

  1. 【codeforces 746E】Numbers Exchange
  2. kqueue演示样例
  3. Hibernate中的HQL
  4. oracle 时间戳TIMESTAMP
  5. windows上通过vnc连接虚拟机中linux系统
  6. redis在项目中的使用(单机版、集群版)
  7. http请求post,返回excel文件,并接收
  8. (转载)Android引导界面实现
  9. array_key_exists()
  10. 优动漫PAINT基础系列之拾色器教学