Vue2+Vue3基础入门到实战项目(四)——课程学习笔记

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第1张图片

 大家好, Capybara 继续与大家一起学习Vue框架。坚持就是胜利。

day05

自定义指令

指令注册

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第2张图片

directive 指令

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第3张图片

 main.js(全局注册)

// inserted 会在 指令所在的元素,被插入到页面中时触发

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

// // 1. 全局注册指令
 Vue.directive('focus', {
   // inserted 会在 指令所在的元素,被插入到页面中时触发
   inserted (el) {
     // el 就是指令所绑定的元素
     console.log(el);
     el.focus()
   }
 })


new Vue({
  render: h => h(App),
}).$mount('#app')

App.vue(局部注册)

directives





指令的值

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第4张图片

 实操:

(1)没有传入指令的值

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第5张图片

 (2)传入指令的值

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第6张图片

  (3)传入指令的值(并用于修改元素文字颜色)

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第7张图片

// 2. update 指令的值修改的时候触发,提供值变化后,dom更新的逻辑





修改指令的值:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第8张图片

 页面发生变化

(打印多次,是内部更新机制问题)

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第9张图片

 Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第10张图片

自定义指令 - v-loading 指令封装

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第11张图片

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第12张图片

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第13张图片

 代码:





效果:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第14张图片

 总结:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第15张图片

插槽

默认插槽

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第16张图片

 基本语法

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第17张图片

代码演示:

不使用插槽时(组件内容一样、不可变、固定):

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第18张图片

使用插槽:

MyDialog.vue






 App.vue





效果:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第19张图片

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第20张图片

后备内容

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第21张图片

 slot标签里面的内容会作为默认显示内容:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第22张图片

 没有默认内容时(不显示任何内容):

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第23张图片

往slot标签内部,编写内容,可以作为后备内容(默认值)

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第24张图片

 同时使用:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第25张图片

 总结:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第26张图片

具名插槽

既想定制标题,也要定制内容: 

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第27张图片

用法:

template标签包裹内容,配合v-slot:名字来分发对应标签

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第28张图片

v-slot可以简写成#

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第29张图片

使用具名插槽:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第30张图片

总结:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第31张图片

作用域插槽

作用域插槽:是插槽的一个传参语法

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第32张图片

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第33张图片

 使用步骤:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第34张图片

父组件 无法跨组件 拿到子组件的item

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第35张图片

使用作用域插槽:

MyTable.vue





App.vue




总结:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第36张图片

个人认为作用域插槽传值,比组件通信-子传父-$emit 会更加简洁方便。

综合案例:商品列表

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第37张图片

MyTag.vue





MyTable.vue





效果:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第38张图片

 总结

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第39张图片

路由入门

单页应用程序

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第40张图片

 对比:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第41张图片

 总结:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第42张图片

路由概念

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第43张图片

 生活中的路由

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第44张图片

 Vue中的路由:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第45张图片

 小结:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第46张图片

VueRouter 的基本使用

介绍:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第47张图片

 使用步骤5+2

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第48张图片

 Vue版本对应关系:2 3 3 3 4 4

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第49张图片

2个核心步骤

route

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第50张图片

router

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第51张图片

小结: 

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第52张图片

组件目录存放问题

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第53张图片

 页面组件和复用组件:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第54张图片

 分类分开存放,更容易维护

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第55张图片

练习1: 

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第56张图片

练习2:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第57张图片

 小结:

Vue2+Vue3基础入门到实战项目(四)——课程学习笔记_第58张图片

你可能感兴趣的:(Vue学习,学习,笔记,vue.js,javascript,前端)