自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

转载 vue3 路由跳转:Cannot read properties of undefined (reading ‘push‘)

这是英文useRoute, useRouter必须写到setup中,强行在函数中使用这两会报undefined,导致无法获取路由数据和路由方法。

2025-05-30 16:05:31 128

原创 IE浏览器报错TypeError: 对象不支持“includes”属性或方法,其他浏览器正常显示

到项目中,全局搜索一下,竟然没有找到 includes。项目需要兼容IE浏览器,今天测试一下IE,竟然打不开,

2025-05-08 15:08:33 201

转载 易优CMS内容页调用下载附件-模板代码使用说明

【代码】易优CMS内容页调用下载附件-模板代码使用说明{eyou:volist name=“$eyou.field.file_list“ id=“field“} 附。

2025-04-23 14:39:49 57

转载 el-table 切换勾选状态和禁止勾选

el-table 切换勾选状态和禁止勾选

2023-05-24 17:23:26 1444

原创 Vue技术—Vuex

一、理解Vuex1.1、Vuex是什么专门在vue中实现集中式状态(数据)管理的一个Vue插件,对Vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信1.2、什么时候使用Vuex2.1.多个组件依赖于同—状态2.2.来自不同组件的行为需要变更同—状态1.3、Vuex工作原理图二、求和案例2.1、使用vue编写src/App.vue文件<template> <div> <Count/&

2022-03-05 16:56:58 282

原创 Vue技术—插槽

作用让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于父组件 ===> 子组件分类默认插槽、具名插槽、作用域插槽使用方式1、默认插槽父组件中:<Category> <div>html结构</div></Category>子组件中:<template> <div> <!--定义插槽--> <slot>插槽默认内容</slot> &

2022-03-03 16:42:35 199

原创 Vue技术—配置代理(Vue解决请求跨越)

Vue脚手架配置代理方法一在vue.config.js中添加如下配置devServer:{ proxy:"https://localhost:5000"}说明:1.优点:配置简单,请求资源时直接发给前端(8080)即可。2.缺点:不能配置多个代理,不能灵活的控制请求是否走代理。2.工作方式:若按照上述配置代理,当请求了前端不存在的资源时,那么该请求会转发给服务器(优先匹配前端资源)方法二编写vue.config.js配置具体代理规则:module.exports={ dev

2022-03-02 15:22:11 517

原创 Vue技术—Vue封装的过度与动画

Vue技术—Vue封装的过度与动画1、作用:在插入、更新或移除DOM元素时,在合适的时候给元素添加样式类名2、图示3、写法(1)准备好样式:元素进入的样式:v-enter:进入的起点、v-enter-active:进入过程中、v-enter-to:进入的终点元素离开的样式:v-leave:离开的起点、v-leave-active:离开的过程中、v-leave-to:离开的重点(2)使用包裹要过度的元素,并配置name属性:<transition name="hello">

2022-02-21 17:14:28 327 1

原创 Vue技术—$nextTick

nextTick1、语法:this.$nextTick(回调函数)2、作用:在下一次DOM更新结束后执行其指定的回调3、什么时候用:当改变数据后,要基于更新后的新DOM进行某些操作,要在nextTick所指定的回调函数中执行...

2022-02-21 15:33:08 334

原创 Vue技术—全局事件总线(GlobalEventBus)

1、一种组件间通信的方式,适用于任意组件间通信2、安装全局事件总线:new Vue({ ...... beforeCreate(){ Vue.prototype.$bus = this } ......})3、使用事件总线:        (1)接受数据:A组件想接收数据mehods(){ demo(data){ ...... }}......mounted(){ //第一种写法 this.$b

2022-02-17 17:00:32 324

原创 Vue技术—组件自定义事件

总结1.一种组件间通信的方式,适用于:子组件 ===> 父组件2.使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件( 事件的回调在A中 )3.绑定自定义事件:        (1).第一种方式,在父组件中:<Demo @atguigu="text"/>或<Demo v-on:atguigu="text"/>    &

2022-02-16 15:29:25 282

原创 Vue技术—浏览器本地存储

WebStorage1.存储内容大小一般支持5MB左右(不同浏览器可能还不一样)2.浏览器端通过Window.sessionStorage和Window.localStorage属性来实现本地存储机制3.相关API:xxxxxStorage.setItem(‘key’,‘value’)该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值xxxxxStorage.getItem(‘person’)该方法接受一个键名作为参数,返回键名对应的值

2022-02-14 15:20:09 759

原创 Vue技术—TodoList案例总结

总结TodoList案例1.组件化编码流程:(1)拆分静态组件:组件要按照功能点拆分,命名不要与html元素冲突。(2)实现动态组件:考虑好数据的存放位置,数据是一个组件在用,害死一些组件在用:一个组件在用放在组件自身即可一些组件在用放在他们共同的父组件上**(状态提升)**(3)实现交互:从绑定事件开始。2.props适用于:(1)父组件==>子组件 通信(2)子组件==>父组件 通信(要求父先给子一个函数)3.试用v-model时要切记:v

2022-02-14 15:19:50 548

原创 Vue技术—TodoList案例

App.vue<template> <div id="root"> <div class="todo-container"> <div class="todo-wrap"> <MyHeader :addtodo="addtodo"/> <MyList :todolist="todolist" :checktodo="checktodo" :deltodo="deltodo"/>

2022-02-14 15:18:54 856

原创 Vue技术—scoped样式

作用让样式再局部生效,防止冲突写法<style scoped> ……</style>

2022-01-26 15:26:29 779

原创 Vue技术—插件

功能用于增强Vue本质包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据定义插件对象.install = function(Vue,options){ //1.添加全局过滤器 Vue.filter(……) //2.添加全局指令 Vue.directive(……) //3.配置全局混入(合) Vue.mixin(……) //4.添加实例方法 Vue.prototype.$myMethod = function()(……) V

2022-01-26 15:10:57 949

原创 Vue技术—mixin混入

功能:可以把多个组件公用的配置提取成一个混入对象使用方式:第一步定义混合,例如:{ data(){……}, methods:{……} ……}第二步使用混入,例如(1)全局混入:Vue.mixin(xxx)(2)局部混入:mixins:[‘xxx’]...

2022-01-26 14:44:54 813

原创 Vue技术—props配置

功能:让组件接收外部传过来得数据传递数据:<Demo name="xxx"/>接收数据第一种方式(只接收):`props:['name']`第二种方式(限制类型):props:{ name:String}第三种方式(限制类型、限制必要性、指定默认值)props:{ name:{ type:String, //类型 required:true, //必要性 default:'老王' //默认值 }}备注:props是只读得,Vue底层会检测你对

2022-01-25 16:02:38 256

原创 Vue技术—ref属性

1.被用来给元素或子组件注册引用信息(id得替代者)2.应用在html标签上获取得是真实DOM元素,用用在组件标签上是组件实例对象(VC)3.使用方法:打标识:< h1 ref=“xxx”>…</ h1 > 或 < School ref=“sch”/>获取:this.$refs.xxx...

2022-01-25 15:23:51 123

原创 Vue技术—vue.config.js配置文件

使用vue inspect > output.js可以查看到Vue脚手架的默认配置使用vue.config.js可以对脚手架进行个性化定制,详情请见:https.//cli.vuejs.org/zh

2022-01-22 18:06:48 590

原创 Vue技术—脚手架文件结构

node_modulespublic |— favicon.ico:页签图标 |_ index.html:主页面src |—— assets:存放静态资源 |_ logo.png |—— component:存放组件 |_ HelloWorld.vue |—— App.vue:汇总说有组件 |—— main.js:入口文件.gitignore:git:版本管制忽略的配置babel.config.js:babel的配置文件package.json:应用包配置文件README.

2022-01-22 18:03:48 400

原创 Vue技术—render函数

关于不同本本的Vue:1.vue.js与vue.runtime.xxx.js的区别:(1)vue.js是完成版的Vue,包含:可信功能+模板解析器(2)vue.runtime.xxx.js是以运行版的Vue,只包含:核心功能,没有模板编辑器2.因为vue.runtime.xxx.js没有模板解析器,所以不能直接试用template配置项,需要试用render函数接收到createElement函数去指定具体内容/*该文件是整个项目的入口*///引入vueimport Vue from 'vu

2022-01-22 17:37:33 329

原创 Vue技术—单文件组件

1. 文件目录:2. School.vue文件:<template> <div> <h2>学校名称:{{name}}</h2> <h2>学校地址:{{address}}</h2> <button @click = "button"></button> </div></template><script>export default {

2022-01-19 15:10:40 241

原创 Vue技术—一个重要的内置关系

1、一个重要的内置关系:VueComponent.prototype.proto === Vue.prototype2、为什么要有这个关系:让组件实例对象(vc)可以访问到Vue原型上的属性、方法。<script>function Demo(){ this.a = 1 this.b = 2}//创建一个Demo实例var d = new Demo()//显式原型属性console.log(Demo.prototype)//隐式原型属性console.log(d.__pr

2022-01-19 14:31:55 345

原创 Vue技术—VueComponent构造函数

关于VueComponent:1、school组件本质时一个名为VueComponent的构造函数,且不是程序员定义的,时Vue。extend生成的2、我们只需要写< school ></ school >,Vue解析时会帮我们创建school组件的实例对象。即Vue帮我们执行的:new VueComponent(option)3、特别注意:每次嗲用Vue.extend ,返回的都是一个新的 VueComponent4、关于this指向(1)组件配置中:data函数、me

2021-12-31 15:50:16 350

原创 Vue技术—组件嵌套

<div id="root"> <app></app></div><script> /*创建students组件*/ const students = Vue.extend({ template: ` <div> <h2>学生名称:{{name}}</h2> <h2>学生

2021-12-31 15:14:23 472

原创 Vue技术—组件的几个注意点

几个注意点:1、关于组件名:一个单词组成:第一种写法(首字母小写):school第二种写法(首字母大写):School多个单词组成:第一种写法(kebab-case命名):my-school第二种写法(CamelCase命名):MySchool(需要Vue脚手架支持)备注:(1)组件名尽可能回避HTML种已有的元素名称(2)可以使用name配置项指定组件在开发者工具中呈现的样子2、关于组件标签:第一种写法:< school ></ school >第二种写

2021-12-31 14:56:12 669

原创 Vue技术—非单文件组件

VUE中使用组件的三大步骤:一、定义组件(创建组件)二、注册逐渐三、使用组件(写组件标签)如何定义一个组件?使用Vue.extend(options)创建,卡红options和new Vue(options)时传入的那个options几乎一样,但也有点区别:区别如下:1、el不要写,为什么? ——最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器。2、data必须写成函数,为什么?——避免组件复用时,数据存在引用关系备注:使用template可以配置组件结构如何注册组件

2021-12-31 14:30:42 432

原创 Vue技术—引出生命周期

生命周期1.又名:生命周期回调函数、生命周期函数、生命周期钩子2.是什么:Vue在关键时刻帮我们调用的一些特殊名称的函数3.生命周期函数的名字不可更改,但函数地具体内容是程序员更具需求编写的4.生命周期函数中的this指向是vm或组件实例对象<div id="root"> <h2 :style='{opacity}'>你好呀</h2></div><script> new Vue({ el:'#root'

2021-12-30 10:31:02 351

原创 Vue技术—自定义指令

自定义指令总结一、定义语法:1、局部指令new Vue({directives:{指令名:配置对象}})或new Vue({directives(指令名:回调函数)})2、全局指令:Vue.directive(指令名,配置对象)或Vue.directive(指令名,回调函数)二、配置对象中常用的三个回调1 .bind:指令与元素成功绑定时嗲用2 .inserted:指令所在元素被插入页面时嗲用3 .update:指令所在模板结构被重新解析时调用三、备注1、指令定义时不加

2021-12-30 09:48:36 788

原创 Vue技术—v-pre指令

v-pre指令:1.跳过其所在节点编译过程2.可利用它跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译<div id="root"> <h2 v-pre>Vue其实很简单</h2> <h2>当前n的值时:{{n}}</h2> <button @click='n++'>点我n+1</button></div><script> new Vue({ el:'#root',

2021-12-29 10:11:22 438

原创 Vue技术—v-once指令

v-once指令:1.v-once所在节点在初次动态选然后,就视为动态内容了,2.以后数据的改变不会引起v-once所在结构的变更,可以用于优化性能<div id="root"> <h2 v-once>当前n的值时:{{n}}</h2> <h2>当前n的值时:{{n}}</h2> <button @click='n++'>点我n+1</button></div><script> ne

2021-12-29 10:04:34 285

原创 Vue技术—v-cloak指令

v-cloak指令(没有值):1.本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-cloak属性2.使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题<style> [v-cloak]{ display:none; }</style><div id="root"> <h2 v-cloak>{{name}}</h2></div><script type="text/jav

2021-12-29 09:55:11 233

原创 Vue技术—v-html指令

v-html指令1.作用:向指定节点中渲染包含html结构的内容2.与插值 语法的区别v-html会替换掉节点中所有的内容,{{xxx}}则不会v-html可以识别html结构3.严重注意:v-html有安全性问题!!在网站上动态渲染任何HTML是非常危险的,容易导致XSS攻击。一定要在可信的内容上使用v-html,永远不要用在用户提交的内容上!<div id="root"> <div>你好,{{name}}</div> <div v-h

2021-12-27 16:41:41 521

原创 Vue技术—v-text指令

我们学过的指令指令解释v-bind单项绑定解析表达式,可简写为 :xxxv-model双向数据绑定v-for遍历数组、对象、字符串v-on绑定事件监听,可间隙为@v-if条件渲染(动态控制节点是否存在)v-else条件渲染(动态控制节点是否存在)v-show条件渲染(动态控制节点是否展示)v-text指令作用:向其所在的节点中渲染文本内容与插值语法的区别:v-text会替换掉节点中的内容,{{xx}}则不会<div i

2021-12-27 16:05:02 362

原创 Vue技术—收集表单数据

<!--收集表单数据:若:<input type="text"/>,则v-model收集的是value值,用户输入的就是value值。若:<input type="radio"/>,则v-model收集的是value值,且要给标签配置value值。若:<input type="checkbo"/> 1.没有配置input的value属性,那么收集的就是checked(勾选or未勾选,是布尔值) 2.配置input的value属性:

2021-12-27 14:49:46 382

原创 Vue技术—总结Vue监视数据

1.vue会监视data中所有层次的数据2.如何检测对象中的数据通过setter实现监视,且要在new Vue时就传入要检测的数据(1)对象中后追加的属性,Vue默认不做响应式处理(2)如需要后添加的属性做响应式,请使用一下API: Vue.set( target , propertyName/index , value ) 或 vm.$set( target , propertyName/index , value )3.如何检数组中的数据通过包裹数据个更新元素的方法实现,本质就是做了两

2021-12-24 16:58:06 358

原创 Vue技术—Vue检测数据的原理

<div id="root"> <h2>人员列表</h2> <button @click="updatamei">更新马冬梅信息<button> <ul> <li v-for="(p,index) in persons" :key="p.id"> {{p.name}}-{{p.age}}-{{p.sex}} </li> </ul></div>new Vue({

2021-12-24 15:40:39 282

原创 Vue技术—更新时的一个问题

<div id="root"> <h2>人员列表</h2> <button @click="updatamei">更新马冬梅信息<button> <ul> <li v-for="(p,index) in persons" :key="p.id"> {{p.name}}-{{p.age}}-{{p.sex}} </li> </ul></div>new Vue({

2021-12-24 14:02:10 111

原创 Vue技术—列表排序

<div id="root"> <h2>人员列表</h2> <input type="text" placeholder="请输入名字" v-model="keyworld"> <button @click="sorttype = 2">年龄升序</button> <button @click="sorttype = 1">年龄降序</button> <button @click="sorttyp

2021-12-24 11:00:01 3226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除