- 博客(14)
- 收藏
- 关注
原创 vue源码实现(第一章)defineProperty劫持数据
在vue源码里vm挂载了一个_data属性,_data就是拷贝的一份data对象,因此在这一步就会形成了只能通过vm._data.xxx访问data对象,所以在vue里就使用了一个proxy函数代理转发。因为vue2里是对data里的属性重新定义了,相当于把data里面的属性重新重写了一遍,并给属性添加上对应的get,set方法。vue源码defineProperty主要内容(以下并非源码,本人简化过后的)以下为简化过的代理实现this访问data的主要代码。"重新定义"data里的属性。
2024-02-04 23:12:06 303
原创 vue3 具名插槽、作用域插槽、动态插槽
父组件在使用子组件的标签添加 #default="{data}“即可使用data数据,或者v-slot=”{data}"也可以。父组件在使用子组件时需要使用template标签,并加入v-slot属性——v-slot:插槽名,简写形式 #插槽名。动态插槽是将具名插槽的名称动态设置,在子组件定义插槽名称,父组件动态设置需要插入哪个位置。具名插槽主要用于父组件使用子组件时,需要插入多个标签到子组件中不同的位置。父组件在使用子组件的标签里面插入一个div即可。子组件可以将数据传递给父组件的插槽中使用。
2023-08-26 03:14:35 941
原创 vue3中的 $ref 和 $parent
/ Ref<InstanceType<typeof Son> | null> 表示它可以持有Son组件的实例类型或null。子组件获取父组件的属性与方法,需要传入$parent,同时,父组件也需要使用。// 获取子组件dom与实例,变量名需要与子组件的ref一致。// 父组件要获取该组件的属性和方法需要暴露出去。
2023-08-13 22:41:02 567 1
原创 vue3——全局事件总线(mitt)
@param {string} '' 事件类型,需与接收方一致。* @param {function} () 回调。* @param {string} '' 事件类型。* @param {function} () 回调。该文件用于展示兄弟组件传值,引入两个子组件。在main.ts中引入。
2023-07-31 04:01:01 737
原创 vue3组合式api——父子组件相互传参、路由传参
子组件传值给父组件,主要是子组件通过defineEmits注册一个自定义事件,然后触发emit去调用该自定义事件,并传递参数给父组件。其他的与vue2一致.在vue3中是使用vue-router中的useRouter、useRoute,就相当于$router和route。在vue3里,父子组件props的传值的区别主要在于子组件接收。// 使用defineEmits注册一个自定义事件。去跳转并传参的,接收参数是。"我是子组件传给父组件的值"// 这部分与vue2一致。'子组件传值 :>> '
2023-07-30 01:18:30 1721
原创 vue-admin-template 登录改造
本文为修改vue-admin-template第一步,将请求地址和状态码改为自己项目的地址,并成功进入页面。
2023-07-21 00:21:38 490
原创 js项目常用数据处理算法——转树状结构、数组分页、模糊查询、数组去重、时间格式化、金额格式化、自定义复制粘贴
div class = "empty-font" > 选中这一段文字,点击 ctrl + C 或 者右键选择复制 < / div > < script type = "text/javascript" > //监听整个页面的 copy 事件 document . addEventListener("copy" , function(e) {
2023-07-16 22:44:58 111
原创 js敏感词检测、替换、过滤
很多人因为找不到更多的敏感词,自己一个个添加敏感词的写又太麻烦,所以我在去年去网站爬了一点敏感词下来,敏感词类包括了 f罪、z治、b力、s情、x腥、r骂等。因考虑到词库记录不完整,为了方便使用者后续自行添加,打算不进行压缩。效果:输入一个字符串和替换字符,检测该字符串是否存在敏感词,存在则用替换词替换掉敏感词,返回新的字符串。效果:输入一个字符串,检测该字符串是否存在敏感词,返回Boolean。
2023-07-16 20:22:28 1977 1
原创 JavaScript别踩白块
js-别踩白块简单面向过程别踩白块看图上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><
2020-11-08 14:02:08 776
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人