美文网首页
vue3.0 基础api

vue3.0 基础api

作者: world_7735 | 来源:发表于2021-01-26 08:53 被阅读0次







    删除数据



    抽取数据方法



    添加数据





    抽取添加数据

    state没有从外界传递即可



    上面是在当前文件引用删除添加方法
    现在新建删除文件添加文件.js方式
    rem.js

    add.js



    页面使用


    非组合api
    data 中业务数据
    mothods中新增业务逻辑
    数据和业务逻辑是分散的


    组合api:定义封装好的具备独立功能的函数功能组合放到一起
    当前的数据和当前的业务逻辑放在一起了



    option api :vue2.0的api
    compsition api 注入api主要是return的age 注入到data中,myFn2 注入到methods中
    如下图



    混合使用




    setup



    this是undefined

    异步 --页面无数据



    reactive



    赋值一个基础数据可以显示但点击后不可以更新数据

    修改后---点击后可以更新





    ref

    使用reactive

    使用ref:如果直接改变age=666无效;应该使用age.value=666即可

    修改后



    如果是通过ref创建的数据,那么在template中使用的时候不用通过.value来获取因为vue会自动给我们添加.value

    区别




    判断是ref还是reactive用isRef 和isReactive



    递归监听

    监听每一层级都监听耗费性能解决办法使用多级时使用非多级监听



    使用reactive



    使用ref



    非递归监听 shallowReactive, shallowRef

    只有第一层被监听
    其它层不被监听



    换成shallowRef的时候第一层也没有被监听;原因是监听的value变化



    通过triggerRef 修改第n级的变化,vue3 没有提供triggerReactive的事件如果是reactive类型的数据,那么是无法主动触发界面更新的

    如果myfn通过obj不能改变state页面参数 ,即使用的是同一地址



    如果想不修改页面数据用toRaw
    reactive



    ref

    markRaw如果永远都不想被追踪



    把obj改成响应式数据用ref形式如下---ref相当于复制

    toRef---引用

    ref:复制,修改响应式数据不会影响以前的数据
    toRef :引用,修改响应式数据会影响以前的数据
    ref:数据发生改变,界面会自动改变
    toRef:数据发生改变,界面也不会自动更新

    toRef应用场景:如果想让响应式数据和以前的数据关联起来,并且更新响应式数据之后还不想更新UI,那么就可以使用toRef

    toRef只能一个属性一个属性改



    如果想同时修改多个属性可以使用toRefs



    customRef

    setup异步



    使用同步的话使用自定义的




    修改



    如果想在setup里拿到声明的box值可以放在onMounted里



    vue3响应式本质

    相关文章

      网友评论

          本文标题:vue3.0 基础api

          本文链接:https://www.haomeiwen.com/subject/sbfxzktx.html