快速入门vue3.0系列之生命周期及父传值,建议“收藏细品”,会持续更新!❤

简介: 快速入门vue3.0系列之生命周期及父传值,建议“收藏细品”,会持续更新!❤

目录

生命周期

父传子

常用加值方法

代码抽离


生命周期

组合式 API 上的生命周期钩子与选项式 API 的名称相同,但前缀为 on:即 mounted 看起来像 onMounted。

1.setup() {//setup组合式api的入口函数,在beforeCreate之前执行
    const count=ref(0)
    console.log('setup');
    onBeforeMount(() => {//组件挂载到节点之前执行
      console.log('组件挂载到节点之前onBeforeMount');
    })
    onMounted(() => {
      console.log('onMounted组件挂载完成');
    })
    onBeforeUpdate(() => {//组件更新前执行
      console.log('组件更新前执行onBeforeUpdate');
    })
    onUpdated(() => {//组件更新完成后执行
      console.log('组件更新完成后执行onUpdated');
    })
    onBeforeUnmount(() => {
        console.log('组件卸载之前执行onBeforeUnmount');
    })
    onUnmounted(() => {
        console.log('组件卸载完成后onUnmounted');
    })
    return{
      count
    }
  }

父传子

1.// father组件
setup() {
  //father作为父级组件,通过provide函数提供数据共享(不限层次)
  // provide只能向下传递数据,向子孙组件传递数据
  provide('globalVal','这是father组件传递过来的值')
  const str = ref('str')
  provide('globalStr',str)
  return{
    str
  }
}
// One组件
setup() {
    const val = inject('globalVal')
    const str = inject('globalStr')
    provide('globalStr','这是one组件传递过来的值')
    return {
      val,
      str
    }
  }
// Two组件
setup() {
    // inject通过自定的函数名获取到父级组件的共享数据
    const val = inject('globalVal')
    // 父组件和爷组件都有globalStr,引用近的父组件内容
    const str = inject('globalStr')
    return {
      val,
      str
    }
  }  

常用加值方法

1.const addUser = () => {
    // alert(data.val);
    // 向数组的前面加一条数据
    // 向前添加
    data.todos.unshift({ name: data.val, show: false });
    // data.todos.push(//向后添加
    //   {name:data.val,show:false}
    // )
    data.val = "";
  };

代码抽离

1.import userAdd from '../hook/userAdd.js'
export default {
  setup() {
    const {total,val,todos,addUser} = userAdd();
    return{
      total,val,todos,addUser
    }
  },
};
// 自定义函数
// function userAdd() {
//   const data = reactive({
//     val: "",
//     todos: [
//       { name: "学习", show: false },
//       { name: "敲代码", show: false },
//     ],
//   });
//   const addUser = () => {
//     // alert(data.val);
//     // 向数组的前面加一条数据
//     // 向前添加
//     data.todos.unshift({ name: data.val, show: false });
//     // data.todos.push(//向后添加
//     //   {name:data.val,show:false}
//     // )
//     data.val = "";
//   };
//   const total = computed(() => data.todos.length);
//   return {
//     ...toRefs(data),
//     addUser,
//     total,
//   };
// }

博主公_号:前端老实人,期待各位小伙伴加入同学们一起学习的队伍哦❤

相关文章
|
4月前
|
JavaScript 开发者
[译] 监听第三方 Vue 组件的生命周期钩子
[译] 监听第三方 Vue 组件的生命周期钩子
|
2月前
|
JavaScript
Vue 的父组件和子组件生命周期钩子执行顺序
在 Vue 中,父组件和子组件的生命周期钩子执行顺序如下:
|
2月前
|
JavaScript
|
2月前
|
JavaScript
vue3 生命周期
【10月更文挑战第14天】vue3 生命周期
|
6月前
|
JavaScript
vue的生命周期
vue的生命周期
34 3
|
6月前
|
JavaScript 前端开发
vue的生命周期
vue的生命周期
38 2
|
2月前
|
开发者
vue3生命周期钩子变化
【10月更文挑战第4天】
|
2月前
|
JavaScript 前端开发 API
深入探索挖掘vue3 生命周期
【10月更文挑战第10天】
40 0
|
3月前
|
JavaScript 前端开发 API
Vue3基础(十yi)___常用生命周期函数___setup___onMounted___onUpdated
本文介绍了Vue 3中的常用生命周期函数,包括`setup`、`onBeforeMount`、`onMounted`、`onBeforeUpdate`、`onUpdated`、`onBeforeUnmount`和`onUnmounted`,并解释了它们与Vue 2生命周期钩子的对应关系。文章通过代码示例展示了这些生命周期钩子在组件中的使用时机和场景。
49 0
|
4月前
|
JavaScript 前端开发 程序员
Vue学习之--------Vue生命周期beforeCreate、created、beforeMount、mounted、beforeDestroy 。。。(图解详细过程)(2022/7/17)
这篇文章详细介绍了Vue的生命周期和各个阶段的钩子函数,包括`beforeCreate`、`created`、`beforeMount`、`mounted`、`beforeUpdate`、`updated`、`beforeDestroy`和`destroyed`。文章通过图解、方法说明、代码实例和测试效果,阐述了每个钩子函数的作用和使用场景,帮助读者深入理解Vue实例从创建到销毁的整个过程。
Vue学习之--------Vue生命周期beforeCreate、created、beforeMount、mounted、beforeDestroy 。。。(图解详细过程)(2022/7/17)