• 全国 [切换]
  • 二维码
    爱农网

    手机WAP版

    手机也能找商机,信息同步6大终端平台!

    微信小程序

    微信公众号

    当前位置: 首页 » 行业新闻 » 热点新闻 » 正文

    vue3.x的setup语法糖

    放大字体  缩小字体 发布日期:2020-01-18 15:41:41   浏览次数:1202  发布人:faf6****  IP:106.39.73.***  评论:0
    导读

    什么是setup语法糖 vue3.0时setup的变量需要return暴露出来,template才能获取。到3.2之后只需要在script标签中添加setup,例如<script setup>,组件中不在需要特殊注册,直接引入,属性和方法便不需返回,在<script setup>中自定义的属性、指令可以直接在template使用。 setup参数 使用 setup 函数时,它将接收两个参数: 1.

    什么是setup语法糖

    vue3.0时setup的变量需要return暴露出来,template才能获取。到3.2之后只需要在script标签中添加setup,例如<script setup>,组件中不在需要特殊注册,直接引入,属性和方法便不需返回,在<script setup>中自定义的属性、指令可以直接在template使用。

    setup参数

    使用 setup 函数时,它将接收两个参数:
    1.props
    2.context
    Props
    setup 函数中的第一个参数是 props。正如在一个标准组件中所期望的那样,setup 函数中的 props 是响应式的,当传入新的 prop 时,它将被更新。

    特别注意:因为 props 是响应式的,你不能使用 ES6 解构,它会消除 prop 的响应性。

    如果需要解构 prop,可以在 setup 函数中使用 toRefs 函数来完成此操作:

    import { toRefs } from 'vue' setup(props) { const { title } = toRefs(props) console.log(title.value) }

    如果 title 是可选的 prop,则传入的 props 中可能没有 title 。在这种情况下,toRefs 将不会为 title 创建一个 ref 。你需要使用 toRef 替代它:

    import { toRef } from 'vue' setup(props) { const title = toRef(props, 'title') console.log(title.value) }

    Context
    传递给 setup 函数的第二个参数是 context。context 是一个普通 Javascript 对象,暴露了其它可能在 setup 中有用的值:

    export default { setup(props, context) { // Attribute (非响应式对象,等同于 $attrs) console.log(context.attrs) // 插槽 (非响应式对象,等同于 $slots) console.log(context.slots) // 触发事件 (方法,等同于 $emit) console.log(context.emit) // 暴露公共 property (函数) console.log(context.expose) } }

    context 是一个普通的 Javascript 对象,也就是说,它不是响应式的,这意味着你可以安全地对 context 使用 ES6 解构。

    setup(props, { attrs, slots, emit, expose }) { ... }

    不推荐电脑端访问(用户少)
    请微信扫一扫,查看完整信息(记得微信收藏)
     
    (文/匿名(若涉版权问题请联系我们核实发布者) / 非法信息举报 / 删稿)
    打赏
    免责声明
    • 
    本文为昵称为 faf6**** 发布的作品,本文仅代表发布者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,发布者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们154208694@qq.com删除,我们积极做(权利人与发布者之间的调停者)中立处理。郑重说明:不 违规举报 视为放弃权利,本站不承担任何责任!
    有个别老鼠屎以营利为目的遇到侵权情况但不联系本站或自己发布违规信息然后直接向本站索取高额赔偿等情况,本站一概以诈骗报警处理,曾经有1例诈骗分子已经绳之以法,本站本着公平公正的原则,若遇 违规举报 我们100%在3个工作日内处理!
    0 条相关评论
     

    (c)2008-现在 ikai.naodi.com All Rights Reserved.