欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue3学习笔记

程序员文章站 2022-03-03 10:03:05
...

Vue3学习笔记

1.setup()方法

1.setup()方法的本质就是把return出来的数据分别注入到data和menthods中去

2.setup()方法的执行时机是在beforeCreate(表示组件刚被创建出来,组件的data和methods还没有初始化好)之后。Created(表示组件刚被创建出来,并且组建的data和methods已经初始化好了)之前

1.ref 方法可以智能监听简单的类型的变化,不能监听复杂类型的变化
import {ref} from 'vue';
export default {
  name:'App',
  setup(){
    let num = ref(0)
    function addNum(){
      num.value++
    }
    return {num,addNum}
  },
}
2.监听复杂类型的变化要用到reactive方法
import {reactive} from 'vue';
export default {
  name:'App',
  setup(){
    let num = reactive({
      status:[
        {id:1,name:'zhangsan'},
        {id:2,name:'lisi'},
        {id:3,name:'wangwu'}
      ]
    })
    function deleteNum(index){
      num.status = num.status.filter((item,idx)=> idx !== index);
    }
    return {num,deleteNum}
  },
}
3.升华  抽离思想,业务逻辑融合
import {reactive} from 'vue';
export default {
  name:'App',
  setup(){
    let {num , deleteNum} = todoList(); 
    let {num2 , addNum} = addTodo(num); //可以把变量当成参数传递进来
    return {num,deleteNum}
  },
}
// 此处写在vue实例之外挂载到setup中去。 此处的方法可以写在别的文件中export导出 
function todoList(){
    let num = reactive({
      status:[
        {id:1,name:'zhangsan'},
        {id:2,name:'lisi'},
        {id:3,name:'wangwu'}
      ]
    })
    function deleteNum(index){
      num.status = num.status.filter((item,idx)=> idx !== index);
    }
    return {num,deleteNum}
},