script setup(基本用法)

script setup是 Vue3 的一个新语法糖,相比于普通的语法,简化了组合式API必须return的写法,拥有更好的运行时性能。

组件自动注册

<script lang="ts" setup>
    import assembly from '../components/HelloWorld'
</script>
<template>
  <div>
    <assembly />
  </div>
</template>

使用props和emit

HelloWorld.vue

<script lang="ts" setup>
  //import { defineProps, defineEmit } from 'vue' // props emit 自动可用无需导入
  const props = defineProps({
    msg: String,
  })
  const emit = defineEmits(['click'])
  const sonClick = () => {
    emit('click')
  }
</script>
template>
  <div>
    <div>
      {{ msg }}
    </div>
    <button @click="sonClick">按钮</button>
  </div>
</template>

home.vue

<script lang="ts" setup>
 import { ref } from 'vue'
 import assembly from '../components/HelloWorld'
 let value = ref('小明')
 const onClick = () => {
   value.value = '小红'
 }
</script>
<template>
  <div>
    <assembly @click="onClick" :msg="value" />
  </div>
</template>

计算属性(computed)和监听器(watch)

<script lang="ts" setup>
  import {reactive,computed,watch} from 'vue' // props emit
  const count = reactive({
    data: 1
  })
  //计算属性
  const change = computed(() => {
    return count.data * 2
  })
  //观察属性
  watch(
    change,
    (newVal, oldVal) => {
      console.log(`变化前:${oldVal}`)
      console.log(`变化后:${newVal}`)
    }, {
      immediate: true, // 立即执行
      deep: true // 深度监听
    }
  )
  //点击事件
  const clickBtn = () => {
    count.data = count.data * 3
  }
</script>

官网:https://v3.cn.vuejs.org/api/sfc-script-setup.html
这篇文章比较全:https://blog.csdn.net/weixin_43931876/article/details/120058286

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值