vue3
vue相关的小知识
只会cv的小前端
没有我cv解决不了的问题
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码的复用——Mixin使用例子
在上面的例子中,我们定义了一个名为 mixin 的对象,它包含了一些方法。注意,如果Mixin和Vue实例中有相同的方法名,那么Vue实例中的方法将覆盖Mixin中的方法。在上面的例子中,我们定义了一个名为 “important-text” 的Mixin,它包含了一些CSS样式规则。然后,在 .danger 选择器中,我们使用 @include 指令引入了这个Mixin,并将它与其他样式规则一起应用到了 .danger 元素上。在Vue.js中,Mixin提供了一种非常灵活的方式来分发组件中的可复用功能。原创 2024-02-20 15:06:18 · 353 阅读 · 0 评论 -
vue3源码(3)——computed
这些对象和函数的组合,使得computed能够实现响应式的计算,并在计算过程中自动收集和更新依赖的响应式数据。Proxy对象中的get函数会调用ReactiveEffect对象中的run函数来执行getter函数,并在执行过程中使用track函数来收集computed所依赖的响应式数据。在Proxy对象中的set函数中,会调用ReactiveEffect对象中的invalidate函数来标记computed的值为无效,并在执行过程中使用trigger函数来触发computed所依赖的响应式数据的更新。原创 2023-04-23 17:03:23 · 813 阅读 · 0 评论 -
解读vue3源码(3)——watch
当数据发生变化时,Proxy对象的set方法会触发watcher实例的回调函数,从而更新组件的视图。在Vue3中,每个组件实例都会有一个watcher实例,用于监听组件数据的变化。当组件数据发生变化时,watcher实例会触发回调函数,从而更新组件的视图。在watcher实例的回调函数中,执行用户定义的回调函数,并将新旧值传递给回调函数。在Proxy对象的set方法中,触发watcher实例的回调函数。在回调函数中,执行用户定义的逻辑,例如更新组件的视图。创建一个Proxy对象,用于监听数据的变化。原创 2023-04-23 16:43:13 · 1148 阅读 · 0 评论 -
解读vue3源码(2)——reactive、ref
【代码】解读vue3源码——reactive。原创 2023-04-23 16:15:36 · 413 阅读 · 0 评论 -
vue3实现商城左右联动数据---BScroll(vue3代码复制就能用)
vue3实现商城左右联动数据---BScroll(vue3代码复制就能用)原创 2022-06-22 11:34:39 · 1311 阅读 · 0 评论 -
vue插槽的使用方法
slot(默认插槽)子:dialog.vue<template> <div class="dialog" v-show="visible"> <div class="dialog-mask" @click="onHide"></div> <div class="dialog-body"> <div class="dialog-title" v-if="title">{{ title }}</di原创 2022-05-07 11:12:37 · 641 阅读 · 0 评论 -
vue3—html元素变成图片canvas(海报生成),进行图片保存,复制就能用
// 网页上只有一张图片 我们可以直接就进行图片保存// 但是你想 保存这张图片的时候 顺便把下面的字也带上 相当于截图 那请你像我这样做 <div id="capture" style="padding: 10px; background: #fff"> <img :src="whoImg" style="width: 300px" alt="" /> <h4 style="color: #000">Hello world!</h4原创 2022-05-07 09:17:59 · 4189 阅读 · 7 评论 -
移动端一键复制
举个例子看了就会vant的Dialog Dialog.confirm({ title: '投诉编码', message: () => { return ( <input id="codeInput" style={{ border: 'none', textAlign: 'center' }} value={code} readonly &g原创 2022-05-06 16:24:06 · 1243 阅读 · 0 评论 -
用户自定义代码片段 vue3
{ "Print to console": { "prefix": "vue3+vant", "body": [ "<template>", "<div></div>", "</template>", "", "<script>", "import { ref } from 'vue';", "export default {", "name:'',", " setup(){",原创 2022-04-28 16:29:13 · 804 阅读 · 0 评论 -
vue3使用ECharts简单例子
示例单个组件内使用:(需要全局注册的根据es6写法自行引入全局)版本: "echarts": "^5.2.0",<template> <!-- h5页面显示 --> <div id="echart-box"></div></template><script>// 引入 echarts 核心模块,核心模块提供了 echarts 使用必须要的接口。import * as echarts from 'echarts/cor原创 2022-04-22 15:11:56 · 2224 阅读 · 0 评论 -
vue3如何获取url地址?后面的参数
vue:route.params路由参数 , this.route.query 查询路由参数import { useRouter, useRoute } from 'vue-router';setup() { let router = useRouter(); let route = useRoute(); 用 route.query route.params }第一:function GetQueryString(name) { let reg = new Reg原创 2022-04-20 15:33:41 · 13246 阅读 · 5 评论 -
Vue3、Vue2中的爷爷与祖孙之间的传值
1.父传孙数据:provide2.子孙得到数据:inject父传孙子 import { ref, provide } from 'vue' setup() { // 直接把数据传递出去给孙子传 provide('sendInfo', 1000) }原创 2022-04-20 08:50:10 · 9176 阅读 · 1 评论 -
antd-vue-table 实现表格的拖拽换顺序,100%成功
话不多说啊,兄弟们,看到很多人在找这个,我马上给你们安排了直接上代码安排起来好吧直接拿捏<template> <div class="approvalStyle"> <a-table style="margin-top: 20px; background: #fff" :columns="columns" :dataSource="dataSource" :customRow="customRow" &g原创 2022-02-22 15:49:52 · 8662 阅读 · 2 评论 -
vue3-props父子通信之双向绑定格式书写
先在son子组件定义propsprops:{ message: { type: String ,default: ''},//正常书写 arr: { type: Array, default: () => [] },//接收数组 obj: { type: Object, default: () =>({name:''}) },//接受对象 obj: { type: Function},//接受函数}然后子组件通过computed监听双向绑定emits: ['update:mes原创 2021-12-17 14:42:45 · 1566 阅读 · 0 评论 -
vue——js实现图片/文件的拖拽上传(复制粘贴就能用,还有优化空间)
首先先创建元素容器<template> <div id="drop"> <span v-show="isUpload" class="tip">拖拽图片/文件上传</span> <img src="" alt="" class="up-img" v-show="!isUpload" /> </div></template>写好元素样式<style scoped lang="scss"&原创 2021-12-15 16:26:38 · 3725 阅读 · 1 评论 -
vue绑定图片格式书写
// 图片<img :src="require('@/assets/images/test.png')" />// 背景图片 <div :style="{ 'background': 'url(' + require('@/assets/images/bg') no-repeat center center', 'background-size': '100% 100%'}">原创 2021-12-15 11:02:48 · 730 阅读 · 0 评论 -
vue自定义指令——手机掩码
function phoneMask(mobile = '') { return mobile.replace(/(\d{3})\d{4}(\d{4})/gi, '$1****$2');}function isNumber(val) { return typeof val === 'number';}export default { name: 'phone', directive: { mounted(el, binding) { el.innerHTML.原创 2021-12-10 10:00:02 · 904 阅读 · 0 评论 -
vue---百度地图实现定位功能
先在index.html引入 <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=你申请的ak"></script> 1. 注:百度地图引用报错(A parser-blocking, cross site (i.e. different eTLD+1) script, http://api.map.baidu.com/getsc), 解决方法: <原创 2021-09-24 14:57:07 · 1185 阅读 · 0 评论 -
vue3的watch监听和computed监听用法
单个监听 可以定义多个watch进行监听import {watch} from 'vue'setup(props){ watch( ()=>props.count,//要监听的值 (new,old)=>{ console.log(new) console.log(old) } ) }多个监听watch( ()=>[props.count原创 2021-07-14 16:01:19 · 1018 阅读 · 0 评论 -
vue3使用ref获取元素
在vue2.x中,可以通过给元素添加ref='xxx'属性,然后在代码中通过this.$refs.xxx获取到对应的元素然而在vue3中时没有$refs这个东西的,因此vue3中通过ref属性获取元素就不能按照vue2的方式来获取vue3需要借助生命周期方法,原因很简单,在setup执行时,template中的元素还没挂载到页面上,所以必须在mounted之后才能获取到元素。<template> <div ref='box'>I am DIV</div>&l原创 2021-07-14 15:39:06 · 3924 阅读 · 0 评论 -
/deep/ 深度选择器 在scoped下 改变ui组件样式(新)
>>>和/deep/ 已经被弃用。使用方法:depp()。在scss中这样.box { &:deep(.el) { }}直接用css.box ::v-deep .el { }以前scss.box { /deep/.el{ }}原创 2021-07-09 16:46:50 · 421 阅读 · 0 评论 -
vue3全局注册属性
Vue 2.0之前我们封装axios和message等通用属性的时候是这么写的:Vue.prototype.$api = apiVue.prototype.$http = http然后在组件内使用this.$http就可以调用了,但是Vue3更新了以后这样写不行了。以下是新的写法跟之前一样,使用this.$http调用即可const app=createApp(App);app.use(store);app.use(router);app.use(Antd);app.mount('#a原创 2021-07-01 11:03:26 · 1385 阅读 · 1 评论 -
vue-config.js 配置 参考以下链接
https://www.jianshu.com/p/b358a91bdf2d原创 2021-07-01 10:07:14 · 202 阅读 · 0 评论 -
vue.config配置多个地址跨域
module.exports = { // 代理服务器 devServer: { proxy: { // 配置第一个服务器地址' '/api': { // changeOrigin为true的时候代表跨域, 请求接口的时候会自动加上api前缀,前提是api被设置为基准地址 target: '', //这里填写你要请求的服务器地址 sec原创 2021-05-17 10:48:19 · 1597 阅读 · 0 评论 -
vue的active-class和exact-active-class的作用和区别
active-class基本使用设置 链接激活时使用的 CSS 类名。可以通过以下代码来替代。 被激活时 Router Link 1 背景颜色显示红色 <style> ._active{ background-color : red; }</style><p> <router-link v-bind:to = "{ path: '/route1'}" active-class = "_active">Router Link转载 2021-03-08 10:18:24 · 2806 阅读 · 1 评论
分享