vue3.2 setup

vue3.2 到底更新了什么?

1.SSR:服务端渲染优化。
2.New SFC Features:新的单文件组件特性。
3.Web Components:自定义 web 组件。
4.Effect Scope API:effect 作用域,用来直接控制响应式副作用的释放时间(computed 和 watchers)。
5.Performance Improvements:性能提升。

一、变量、方法不需要 return 出来


<template>
  <div class="home">
    {{flag }}
    <button @click="changeHander">改变</button>
  </div>
</template>
<script lang="ts" setup>
    import { ref } from 'vue';
    const flag=ref("第一次循环")
    const changeHander=()=>{
        flag.value='第二次循环'
    }
</script>

2.组件不需要再注册


<template>
    <div>
        <h2> 你好</h2>
    </div>
</template>

<template>
  <div class="home">
    <testcom></testcom>
  </div>
</template>
<script setup>
import testcom from "../components/testcom .vue"
</script>

3.父子传参 使用互调方法 defineProps defineEmits defineExpose

// 子
<template>
    <div>
        <p>:{{ info}}</p>
        <p>{{ time }}</p>
        <button @click="hander1Click">新增</button>
        <button @click="hander2Click">删除</button>
    </div>
</template>
<script  setup>
import {defineProps,defineEmits,defineExpose } from 'vue'
defineProps({
    info:{
        type:String,
        default:''
    },
    time:{
        type:String,
        default:''
    },
})
const info=reactive({
    like:'chan',
    age:27
})
// 将组件中的属性暴露出去,这样父组件可以获取
defineExpose({
    info.like,
    info.age
})
const emit=defineEmits(['myAdd','myDel'])
const hander1Click=()=>{
    emit('myAdd','新增的数据')
}

const hander2Click=()=>{
    emit('myDel','删除的数据')
}
</script>

// 父
<template>
  <div class="home">
    <testcom  ref="testcomRef  :info="msg" time="132"  @myAdd="myAddHander" @myDel='myDelHander'></testcom >
    <button @click="getSonHander">获取子组件中的数据</button>
  </div>
</template>
<script setup>
import testcom from "../components/testcom .vue"
const msg='132'
const testcomRef = ref()
const myAddHander=(mess)=>{
  console.log('新增==>',mess);
}

const myDelHander=(mess)=>{
  console.log('删除==>', mess);
}
const getSonHander = ()=>{
  console.log('获取子组件中的信息', testcomRef.value.like);
  console.log('获取子组件中的信息', testcomRef.value.age);
}
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值