1.控制台创建1个Mip组件文件项目:mip addelement 组件名称

2.在Hbulider中打开组件项目

1》README.md:配置组件介绍和写HTML代码

2》less文件中写样式

3》js文件中写逻辑关系

4》package.json文件中写版本信息、组件描述、作者信息

3.浏览器预览组件:

1》mip server启动服务

2》复制结果的第二个链接,粘贴到浏览器运行并查看效果

4.检验组件是否符合规范:mip validateelement 组件名

5.去百度审核平台提交组件代码:

https://www.mipengine.org/platform/mip#/

6.完整Demo,效果:关闭组件:点击关闭按钮,关闭外层dom

 1 # mip-close-dom
 2
 3 mip-close-dom 关闭组件:点击关闭按钮,关闭外层dom
 4
 5 标题|内容
 6 ----|----
 7 类型|通用
 8 支持布局|responsive,fixed-height,fill,container,fixed
 9 所需脚本|https://c.mipcdn.com/static/v1/mip-close-dom/mip-close-dom.js
10
11 ## 示例
12
13 ### 基本用法
14 ```html
15 <style>
16     body{17         padding: 20px;
18     }
19     .close-section{20         padding: 20px;
21         background-color: #fff;
22         box-shadow: 0px 5px 20px rgba(0,0,0,0.3);
23         position:relative;
24     }
25 </style>
26 <section class="close-section">
27     <mip-close-dom class="close-btn" target="outer"> </mip-close-dom>
28     这里是一行可以被关闭的文字
29 </section>
30 ```
31
32 ## 属性
33
34 ### target
35
36 说明:指向需要被关闭的dom,支持queryselector
37 必选项:否
38 类型:字符串
39 取值范围:'outer',queryselector内容
40 默认值:outer

README.md

 1 /**
 2  * @file mip-close-dom样式文件
 3  */
 4
 5 mip-close-dom {
 6     &.close-btn{
 7         background-color: #ff0000;
 8         box-shadow: 0 2px 5px rgba(0,0,0,0.4);
 9         color: #fff;
10         font-size: 40px;
11
12         position: absolute;
13         right: -20px;
14         top: -20px;
15         width: 40px;
16         height: 40px;
17         border-radius: 50%;
18     }
19
20     &.close-btn:before,
21     &.close-btn:after{
22         content: '';
23         width: 2px;
24         height: 25px;
25         display: inline-block;
26         position: absolute;
27         background: #fff;
28         top: 8px;
29         left: 19px;
30     }
31
32     &.close-btn:before{
33         transform: rotate(45deg);
34         -webkit-transform:rotate(45deg);
35     }
36
37     &.close-btn:after{
38         transform: rotate(-45deg);
39         -webkit-transform:rotate(-45deg);
40     }
41
42     &.close-btn.touchdown{
43         background: #cc0000;
44     }
45 }

mip-close-dom.less

 1 /**
 2  * @file mip-close-dom 组件
 3  * @author
 4  */
 5
 6 define(function (require) {
 7     'use strict';
 8
 9     var customElement = require('customElement').create();
10
11     /**
12      * 第一次进入可视区回调,只会执行一次
13      */
14     customElement.prototype.firstInviewCallback = function () {
15         var ele = this.element;
16         ele.addEventListener('click', function(){
17             var target = ele.parentElement;
18             target.parentElement.removeChild(target);
19         }, false);
20         ele.addEventListener('mousedown', function(){
21             ele.classname += 'touchdown';
22         });
23         ele.addEventListener('mouseup', function(){
24             ele.className.replace('touchdown','')
25         });
26     };
27
28     return customElement;
29 });

mip-close-dom.js

 1 {
 2     "name": "mip-close-dom",
 3     "version": "1.0.0",
 4     "description": "关闭组件:点击关闭按钮,关闭外层dom",
 5     "contributors": [
 6         {
 7             "name": "Jason",
 8             "email": "1225746467@qq.com"
 9         }
10     ],
11     "engines": {
12         "mip": ">=1.1.0"
13     }
14 }

package.json

转载于:https://www.cnblogs.com/coderJasonLee/p/9012023.html

2.开发Mip组件的第一个demo(点击关闭按钮,关闭外层dom)相关推荐

  1. 鸿蒙系统开发app入门系列-- 第一个demo

    建了一个QQ交流群:492306415 当脉脉上全是dis鸿蒙系统的时候,我已经做完了第一个demo app,毛主席说过没有调查就没有发言权,与其坐而论道不如行而起之,来通过第一个app,感受一下鸿蒙 ...

  2. 开发教程(四) MIP组件平台使用说明

    组件审核平台用于上传 MIP 组件.经过自动校验之后,提交审核,通过审核的组件会定时推送到线上,供网站使用. 平台地址:https://www.mipengine.org/platform/ 1. 使 ...

  3. 小程序kbone开发---用kbone搭建一个demo环境

    小程序kbone开发-用kbone搭建一个demo环境 微信小程序自诞生以来,渗透到我们生活的方方面面,以其便捷轻量的特点受到了用户的极大欢迎.但是作为开发者的我们,"当 Web 项目完成之 ...

  4. 安卓重构系列-01使用Kotlin开发第一个Demo

    第一个Kotlin安卓项目 背景 首先,你必须熟练掌握Kotlin这门编程语言,上手难度是不高的,而且真心很好用. 如今,越来越多的安卓项目使用Kotlin开发,现在已经有30%的项目使用Kotlin ...

  5. vue 筛选组件_记一个复杂组件(Filter)的从设计到开发

    此文前端框架使用 rax,全篇代码暂未开源(待开源) 原文链接地址:Nealyang/PersonalBlog 前言 貌似在面试中,你如果设计一个 react/vue 组件,貌似已经是司空见惯的问题了 ...

  6. 本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件。

    本篇文章使用vue结合element-ui开发tab切换vue的不同组件,每一个tab切换的都是一个新的组件. 1.vue如何使用element-ui 上一篇文章已经分享了如何在vue中使用eleme ...

  7. 一个Demo带你手把手进行Docker开发(内涵源码和视频讲解)

    微软.NET20周年特别活动盛大开启,51Aspx联合微软官方打造了一场的"云原生开发挑战赛",在这里大家可以聆听大牛的直播讲座.进行现场互动..NET专家答疑解惑,还可报名参加. ...

  8. 【python爬虫】Pycharm+Scrapy+win10搭建scrapy开发环境+运行一个Demo

    准备工作 基础环境准备 win10 pycharm python3(同时保证有pip环境) scrapy环境准备 打开网址https://www.lfd.uci.edu/~gohlke/pythonl ...

  9. 通用权限管理系统组件 (GPM - General Permissions Manager) 权限管理以前我们都是自己开发,可是到下一个系统又不适用,又改,加上人员流动大,管理很混乱...

    为什么80%的码农都做不了架构师?>>>    权限管理以前我们都是自己开发,可是到下一个系统又不适用,又改,加上人员流动大,管理很混乱 Ψ吉日嘎拉 采用通用权限管理系统,这些烦恼就 ...

最新文章

  1. a+b 第一个JAVA
  2. 切换debian8系统语言环境
  3. 手写自己的MyBatis框架-Configuration
  4. 介绍Jupyter和Pandas
  5. Nginx rewrite规则整理
  6. Everything 中文绿色版
  7. qt 展开指定目录_Qt5实战003:Qt Creator工程目录浅析
  8. 清零软件解决连供打印机喷嘴断墨和堵塞
  9. 【C语言】 文件指针编程应用
  10. linux的键盘命令用户登录,linux 基础命令
  11. 输入输出系统 ——I/O方式(程序查询、程序中断、DMA方式)
  12. 2017计算机开机号202,福彩3D2017第202期彩吧3D开机号429
  13. 在vm虚拟机上安装esd格式的win7系统文件
  14. 【QT-QSS】QSS介绍
  15. 如何给apk文件签名(一)
  16. Golang 函数定义 不定数目参数定义 多个输入参数函数 (...) 不定参数 可变参数 定义
  17. python爬取百度地图数据_百度地图POI数据爬取
  18. Typescript和Javascript之间的区别
  19. 计算机专业跨考会计好处,细数跨考会计的各种好处
  20. ReactNative 滑动字母选择城市 以及搜索功能

热门文章

  1. 51单片机数码管小数点c语言,求助一个51单片机控制的数码管计算器带小数点功能的...
  2. 掌业宝服务器维护升级,奇游联机宝APP焕新升级 主机加速多设备各享最优区服...
  3. softmax回归的从零开始实现
  4. 【matlab】访问结构体内部元素
  5. linux media v4l2,Linux kernel drivers/media/v4l2-core/videobuf2-v4l2.c拒绝服务漏洞(CVE-2016-4568)...
  6. 扫地机自动回充揭秘之科沃斯T8
  7. 掌握了AI这些点,面试官的天选之子就是你
  8. linux 命令大全_【Linux】命令目录大全
  9. php devel 5.3.3 26,php-5.3.27安装
  10. qtcreator下拉列表怎么制作_如何用WPS制作月度记账表