首页 > 其他分享 >setup语法糖

setup语法糖

时间:2022-08-24 17:35:30浏览次数:80  
标签:function infoBtnClick const log setup 语法 message foo

<template>
  <div>AppContent: {{ message }}</div>
  <button @click="changeMessage">修改message</button>
  <showInfo name="why" 
             :age="18"
             @info-btn-click="infoBtnClick"
             ref="showInfoRef">
  </showInfo>
  <showInfo></showInfo>
  <showInfo></showInfo>
</template>

<script setup>
  // 1.所有编写在顶层中的代码, 都是默认暴露给template可以使用
  import { ref, onMounted } from 'vue'

  // 2.组件不需要再components里面注册了
  import showInfo from './ShowInfo.vue'

  // 3.定义响应式数据
  const message = ref("Hello World")
  console.log(message.value)

  // 4.定义绑定的函数
  function changeMessage() {
    message.value = "你好啊, 李银河!"
  }

  function infoBtnClick(payload) {
    console.log("监听到showInfo内部的点击:", payload)
  }

  // 5.获取组件实例
  const showInfoRef = ref()
  onMounted(() => {
    showInfoRef.value.foo()
  })

</script>

<style scoped>
</style>
<template>
  <div>ShowInfo: {{ name }}-{{ age }}</div>
  <button @click="showInfoBtnClick">showInfoButton</button>
</template>

<script setup>

// 定义props
const props = defineProps({
  name: {
    type: String,
    default: "默认值"
  },
  age: {
    type: Number,
    default: 0
  }
})

// 绑定函数, 并且发出事件
const emits = defineEmits(["infoBtnClick"])
function showInfoBtnClick() {
  emits("infoBtnClick", "showInfo内部发生了点击")
}

// 定义foo的函数
function foo() {
  console.log("foo function")
}
defineExpose({
  foo
})

</script>

<style scoped>
</style>

 

标签:function,infoBtnClick,const,log,setup,语法,message,foo
From: https://www.cnblogs.com/qd-lbxx/p/16620955.html

相关文章

  • nginx配置文件语法高亮
    下载nginx.vim支持文件[root@uat-sh-bs-3-b5-nginx-0-11vim74]#cd/usr/share/vim/vim74/syntax/[root@uat-sh-bs-3-b5-nginx-0-11vim74]#wget--no-check-certif......
  • python语法随笔:{!r}、*a, = 、enumerate、dic[1]和dic[1.0]、dis、isinstance(True,in
    f"{!r}"等价与'{!r}'.format()输出会带上引号和print('%r'%a)相同a='2'print(f"{a}")print("{}".format(a))print(f"{a!r}")print("{!r}".format(a))输......
  • Markdown基础语法
    Markdown学习标题三级标题字体Hello,World粗体Hello,World斜体Hello,World斜体加粗Hello,World删除线引用右尖括号+空格分割线三个小横杠“-”+回车三......
  • vue3 在setup 外部调用 useStore() 为 undefined 解决
    场景:在router/index.ts中想要获取storeimport{useStore}from'@/vuex';conststore=useStore()console.log('appstore',store)//undefined 在App.vue,或者......
  • Java基本语法
    >JAVA基本语法标识符定义:凡是自己可以起名字的地方都叫标识符。涉及到的结构:包名、类名、接口名、方法名、变量名、常量名。标识符命名规则:(必须遵守,否则编译不通过)1.......
  • 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器
    目录前端基础之css1.关于css的介绍2.css语法3.三种编写CSS的方式3.1.style内部直接编写css代码3.2.link标签引入外部css文件3.3.标签内直接书写4.css选择器5.css组合器(重......
  • Vue3.2 setup语法糖中组件的 name 属性如何定义
    方案一:增加一个脚本标签<scriptlang="ts">exportdefault{name:'Layout'}</script>方案二:使用插件unplugin-vue-define-options 方案三:(推荐)使用插件vit......
  • 第一篇:自学Java-MarkDown语法学习
    Day01目录Day01MarkDown学习标题:三级标题四级标题字体引用分割线图片超链接列表表格代码MarkDown学习标题:三级标题四级标题字体Hello,World!Hello,World!Hello,......
  • XPAND模板语言语法1.0
    XPAND模板语言语法1.0Xpand模板语言一般写在以.xpt为结尾的文本文件中,以“«»”作为开头和结尾 。Xpand语言主要包括以下几个标签:«IMPORT»,«DEFINE»,«EXPAN......
  • Java-基础语法
    day02-Java基础语法1.运算符1.1算术运算符(理解)1.1.1运算符和表达式运算符:对常量或者变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合java语法的式......