vue封装组件过程,vue封装全局loading组件
组件(组件)是vue。j最强大的功能之一,组件可以扩展超文本标记语言元素,封装可重用的代码,这篇文章主要给大家介绍了关于某视频剪辑软件封装全局烤组件,需要的朋友可以参考下
目录
前言
一。借助脚手架
1.定义烤组件2.在主页。射流研究…里面配置3.在其他组件内使用二、不借助脚手架
1.注册烤组件2.注册烤插件3.在其他组件内使用总结
前言
最近体验了下Vue,吐司都是前端常用组件,本文详细介绍了某视频剪辑软件封装全局烤组件的过程,下面话不多说了,来一起看看详细的介绍吧
一. 借助 vue-cli
1. 定义 Toast 组件
//组件/吐司
模板
过渡名称=淡化
div v-show= visible " { message } }/div
/过渡
/模板
脚本
导出默认值{
data () {
返回{
可见:假,
消息:""
}
}
}
/脚本
样式范围
部门{
位置:固定;
top:30%;
左:50%;
填充:5px 20px
颜色:# fff
背景色:# 424242;
边框半径:5px
文本对齐:居中;
transform: translate(-50%,-50%);
}
/* vue动画过渡效果设置*/。淡入激活,淡化-保持活动状态{
过渡:不透明度。5s;
}。淡入,淡出-离开至{
不透明度:0;
}
/风格
2. 在 main.js 里面配置
从“vue”导入某视频剪辑软件
从导入应用程序 App.vue
从导入吐司。/组件/吐司
//定义插件对象
const ToastObj={
安装:功能(Vue) {
//创建一个某视频剪辑软件的"子类"组件
const Toast构造函数=vue。扩展(吐司)
//创建一个该子类的实例,并挂载到一个元素上
const instance=新toast构造函数()
console.log(实例)
//将这个实例挂载到动态创建的元素上,并将元素添加到全局结构中
实例. mount $ document。createelement( div ))
document.body.appendChild(实例100万美元)
//在某视频剪辑软件的原型链上注册方法,控制组件
Vue.prototype.$toast=(msg,duration=1500)={
实例。消息=消息
instance.visible=true
setTimeout(()={
instance.visible=false
},持续时间)
}
}
}
使用(ToastObj)
Vue.config.productionTip=false
新Vue({
render: h=h(App),
}).$ mount("# app ")
3. 在其他组件内使用
模板
你好
h1{{ msg }}/h1
/div
/模板
脚本
导出默认值{
名称:“HelloWorld”,
数据:()={
返回{
消息:“HelloWord”
}
},
已安装(){
//使用烤组件
这个$吐司(’组件挂载成功)
}
}
/脚本
二、不借助 vue-cli
在借助脚手架的情况下,可以方便实现组件的导入导出,但是在不借助构建工具的情况下,就需要使用其他方法了
1. 注册 toast 组件
!声明文档类型
html lang=en
头
meta charset=UTF-8
meta name= viewport content= width=device-width,initial-scale=1.0
标题文档/标题
脚本src= ./static/vue/vue.min.js/script
/头
身体
div id=应用程序
我的纽扣
/div
div id=toast/div
脚本
//定义烤全局组件
const Toast=vue。组件( Toast ,{
data() {
返回{
isShow:假,
消息: 全局提示,
wrapperStyle: {
位置:"固定",
顶部:"20%",
左:"50%",
zIndex: 10000,
填充:“6px 12px”,
背景颜色:“# 424242”,
borderRadius:“5px”,
转换:转换(-50%,-50%)
},
textStyle: {
颜色: #fff ,
字体大小:“14px”
}
}
},
模板: div v-show= isShow :style= wrapper style
span:style= text style“{ message } }/span
/div ` 1
})
2. 注册 toast 插件
//定义插件对象
const ToastObj={
安装:功能(Vue) {
//创建一个烤组件实例,并挂载到一个元素上
const instance=new Toast()
//将这个实例挂载到数字正射影像图中
实例$ mount(# toast)
//在某视频剪辑软件的原型链上注册方法,控制组件
Vue.prototype.$toast=({message,duration=2000}={})={
实例.消息=消息
instance.isShow=true
setTimeout(()={
instance.isShow=false
},持续时间)
}
}
}
//注册烤插件
使用(ToastObj)
3. 在其他组件内使用
Vue.component(我的按钮,{
data() {
返回{
wrapperStyle: {
宽度:“70px”,
填充:“20px”,
背景色:"绿色"
},
textStyle: {
颜色: #fff ,
字体大小:" 16px "
}
}
},
方法:{
handleClick() {
这个. toast({
消息: 我点击了
})
}
},
模板:` div:style= wrapper style @ click= handle click
span :style=textStyle 点击提示/span
/div ` 1
})
const vm=new Vue({
埃尔: #app
})
/脚本
/body
/html
总结
到此这篇关于某视频剪辑软件封装全局烤组件的文章就介绍到这了,更多相关某视频剪辑软件封装全局烤组件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。