IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue3知识点(一) -> 正文阅读

[JavaScript知识库]vue3知识点(一)

vue3知识点(一)

1、在vue3中可以省略跟标签

2、在子组件中如何主动获取父组件的数据和执行父组件方法

子组件主动获取父组件的数据

this.$parent.数据

子组件主动获取父组件的方法

this.$parent.方法

3、当子组件向父组件传值的时候,进行验证

methods: {
this.$emit('submit',{
 username:this.username,
 password:this.password
 })
}
emits: {
 //监听的名字
 submit:({
  username,
  password
 }) => {
   if(username != '' && password != ''){
    return true
   }else{
    console.error('用户名、密码不能为空');
    return false;
   }
 }
}

4、声明周期中的不同点

beforeUnmount() {//vue2.x中beforeDestroy
  
}
unmounted() {//vue2.x中destroyed
  
}
activated() {
 console.log('keep-alive缓存的组件激活时调用')
}
deactivated() {
 console.log('keep-alive缓存的组件停用时调用')
}

5、防抖

6、mixin混入

let baseMixin = {
 data() {
  return {
   api:'http://www.baid.com'
  }
 },
 methods: {
  success() {
   console.log('成功')
  }
 }
}
export default {
 mixins:[baseMixin]
}

以上可以进行全局配置

7、teleport的用法

<teleport to="body"></teleport>//表示将teleport内包含的内容显示到body中

有时候我们想把模板的内容移动到当前组件之外的DOM,这个时候就可以使用Teleport

8、ref和reactive的使用

import {ref} from 'vue'
export default {
 setup() {
 //ref reactive定义响应式数据
 let title = ref('我是一个标题');
 let userInfo = reactive({
  username:'张三',
  age: 20
 })
 //获取reactive里面定义的数据
 let getUserName = () =>{
   alert(userInfo.username)
 }
 //获取ref里面定义的数据
 let getTitle = () =>{
   alert(title.value)
 }
  //设置reactive里面定义的数据
 let setUserName = () =>{
   userInfo.username = '李四';
 }
 //设置ref里面定义的数据
 let setTitle = () =>{
   title.value = '修改后的ref里面的title'
 }
 return {
  title,
  userInfo,
  getUserName,
  getTitle
 }
 }
}

ref:用来定义字符串、布尔类型、数组、数值

reactive:用来定义对象类型

9、toRefs–解构响应式对象数据

把一个响应式对象转化成普通对象,该普通对象的每个property都是一个ref,和响应式对象property–对应

import {toRefs,reactive} from 'vue'
setup() {
 let article = reactive({
  dec:'我是一条新闻',
  type:'娱乐新闻'
 })
 return {
 ...article,//错误写法会导致article失去响应式
 ...toRefs(article)
 }
}

10、计算属性

import{reactive,toRefs,computed} from 'vue'
export default {
 setup() {
 let userinfo = reactive({
      firstName: '',
      lastName: ''
 })
 let fullName = computed(() =>{
  return userinfo.firstName + ' ' + userinfo.lastName
 })
 return {
  ...toRefs(userinfo),
  fullName
 }
 }
}

11、readonly"深层"的只读代理

传入一个对象(响应式或者普通)或ref,返回一个原始对象的只读代理,一个只读代理是”深层的“,对象内部的任何嵌套的属性项都是只读的。

12、watch与watchEffect区别

watch:

懒执行,也就是说仅在监听的源变更时才执行回调

更明确哪些状态的改变会触发监听器重新运行

访问监听器变化前后的值

import{toRefs,reactive.watchEffect,watch} from 'vue'
export default {
 props:['msg']
 setup(props) {
  console.log(props);
  let data = reactive({
   num : 1
  })
  watchEffect(() =>{
   console.log(`num的${data.num}`)
  })
  watch(data, (newData,oldData) =>{
   console.log('data.num=' + data.num);
   console.log(newData,oldData)
  })
  setInterval(()=>{
   data.num ++;
  },1000)
  return {
   ...toRefs(data)
  }
 }
}

13、provide和reject的用法

import {ref,provide} from 'vue'
export default {
 setup() {
  let title = ref('app跟组件里面的title');
  provide('title',title)
  return{
   title
  }
 }
}

j接收页面

import{inject} from 'vue'
export default {
 setup() {
  let title = inject('title');
  return {
   title
  }
 }
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 17:37:04  更:2021-12-01 17:37:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 21:55:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码