代码拉取完成,页面将自动刷新
npm i vue-asobtn
<template>
<div id="app">
<aasoBtn>按钮1</aasoBtn>
<aasoBtn>按钮2</aasoBtn>
</div>
</template>
<script>
import asoBtn from 'vue-asobtn'
export default {
components: {
asoBtn,
},
};
</script>
1.安装依赖
npm install
2.运行
npm run serve
3.打包
npm run build
资料参考
项目结构图
vue-asoBtn
├─ package.json
├─ public
│ ├─ favicon.ico
│ └─ index.html
├─ rollup.config.js
└─ src
├─ App.vue
├─ components
│ ├─ AsoBtn.vue
│ └─ index.js
└─ main.js
package.json
"devDependencies": {
"rollup": "^1.29.0",
"rollup-plugin-vue": "^5.0.1",
"@rollup/plugin-commonjs": "^11.0.1", // 将 CommonJS 模块转换为 ES6 供 rollup 处理
"@rollup/plugin-node-resolve": "^7.0.0" // rollup 无法识别 node_modules 中的包,帮助 rollup 查找外部模块,然后导入
},
"scripts": {
"build": "npm run build:umd & npm run build:es & npm run build:unpkg",
"build:umd": "rollup -c --format umd --file dist/aso-btn.umd.js", // -c: 使用rollup.config.js作为打包配置
"build:es": "rollup -c --format es --file dist/aso-btn.esm.js",
"build:unpkg": "rollup -c --format iife --file dist/aso-btn.min.js"
},
通过生成uuid绑定元素的id;
// 通过uuid第三方模块生成uuid
import {v4 as uuidv4} from 'uuid';
// 最好在created()方法中, 生成
let uuid = uuidv4();
// 通过uuid绑定元素
let element = document.getElementById(this.uuid);
let element = document.querySelector(`#${this.uuid}`); //注: 通过querySelector绑定元素, uuid必须是字母开头
在.vue
文件中, <style scoped>
会在组件生成data-v-xx
, 如果想在组件中动态生成新的元素, 这个元素是没有data-v-xxx
, 这时候定义好的css不会生效, 因为缺少data-v-xxx
, 可以通过下面代码添加上
// 方法一
// 如果存在多个dataset可能会失败
for (const key in elementParent.dataset) {
log(key); // vDe934562(v-de934562)
}
elementChildren.dataset[key] = "";
// 方法二
let str=elementParent.attributes[0].name; // data-v-xxx
str = str.substring(5).replace('-', ''); // vxxx
let newstr = str.replace(str[1], str[1].toUpperCase()); // vXxx
elementChildren.dataset[newstr] = "";
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。