我的编程空间,编程开发者的网络收藏夹
学习永远不晚

前端vue3的setup如何使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

前端vue3的setup如何使用

本文小编为大家详细介绍“前端vue3的setup如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“前端vue3的setup如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    vue3 中新增了 setup,它的出现是为了解决组件内容庞大后,理解和维护组件变得困难的问题。即 vue 中 data、computed、methods、watch 等内容非常多以后,同一业务逻辑的 data 中的数据和 methods 中的方法在 vue 文件中“相隔甚远”,看代码时,经常需要根据 data 中的数据去搜索找到对应的 methods 方法,上下跳跃查看代码,非常不方便。而在 setup 中,则可以把 data 中的数据和 methods 方法写在相临的位置,方便查看和维护。

    1、简单使用

    先简单写一下看看效果

    笔者这里使用新建的 vue3 项目,直接在 App.vue 上进行修改

    <template>  <div>{{name}}</div></template> <script>export default {  setup() {    return {      name: "泪眼问花花不语,乱红飞过秋千去"    }  }}</script>

    原来写在 data 中的 name,在 setup 中需要 return 返回

    运行效果

    前端vue3的setup如何使用

    2、修改 setup 中的变量值

    先看下面代码,再说在 setup 中如何修改

    <template>  <div>    {{name}}    <button @click="change">修改</button>  </div></template> <script>export default {  setup() {    let name = "泪眼问花花不语,乱红飞过秋千去"    function change() {      name = "人生自是有情痴,此恨不关风与月"    }    return {      name,      change    }  }}</script>

    按照常规逻辑,修改 setup 中的 name,会自然地写出上面的代码

    但是这段代码是不能完成 name 值的修改的,看运行效果

    前端vue3的setup如何使用

    为什么 name 值没有改变呢?因为上面代码中 name 是非响应式的

    如果想要修改 name 值,就需要把它改成响应式的,代码如下

    <template>  <div>    {{name}}    <button @click="change">修改</button>  </div></template><script>import { ref } from 'vue'export default {  setup() {    let name = ref("泪眼问花花不语,乱红飞过秋千去")    function change() {      name.value = "人生自是有情痴,此恨不关风与月"    }    return {      name,      change    }  }}</script>

    使用 ref 对 name 进行包装

    修改时使用 变量名.value 的语法

    运行效果

    前端vue3的setup如何使用

    除了使用 ref 外还可以使用 reactive ,二者都可以将原始数据类型转换成一个带有响应式特性的数据类型

    ref 和 reactive 有什么区别,ref 一般处理基本类型;reactive 处理复杂的数据类型

    reactive 使用代码

    <template>  <div>    {{nameObj.name}}    <button @click="change">修改</button>  </div></template> <script>import {reactive} from 'vue'export default {  setup() {    let nameObj = reactive({name: '今年花胜去年红。可惜明年花更好,知与谁同'})    function change() {      nameObj.name = "离愁渐远渐无穷,迢迢不断如春水"    }    return {      nameObj,      change    }  }}</script>

    运行效果

    前端vue3的setup如何使用

    3、setup 形式下的父子组件通信

    代码写成 setup 形式,如何实现父子组件通信,下面介绍

    3.1、父传子

    在 components 目录下新建 Article.vue 作为子组件

    Article.vue 内容

    <template>  <div>    {{msg}}    {{info}}  </div></template> <script>export default {  props:['msg'],  setup(props) {    console.log(props.msg)     return {      info:props.msg    }  }}</script>

    在 setup 方法内使用 props 来接收父组件传过来的数据

    App.vue 为父组件

    在 App.vue 中引入 Article.vue

    <template>  <div>    <Article :msg="name"></Article>  </div></template> <script>import Article from '@/components/Article.vue' export default {  components: {    Article  },  setup() {    return {      name: '渐行渐远渐无书,水阔鱼沉何处问'    }  }}</script>

    运行效果

    前端vue3的setup如何使用

    3.2、子传父

    3.2.1、子组件调用父组件方法

    Article.vue 内容

    <template>  <div>    {{msg}}    <button @click="sendToParent">子组件向父组件传递数据</button>  </div></template> <script>export default {  props:['msg'],  setup(props, content) {    console.log(props.msg)    function sendToParent() {      content.emit('change')    }    return {      sendToParent    }  }}</script>

    使用 setup 方法中 content 参数中的 emit

    App.vue 内容

    <template>  <div>    <Article :msg="name" @change="changeName"></Article>  </div></template><script>import Article from '@/components/Article.vue' export default {  components: {    Article  },  setup() {    function changeName() {      alert('父组件事件被调用')    }    return {      name: '渐行渐远渐无书,水阔鱼沉何处问',      changeName    }  }}</script>

    运行效果

    前端vue3的setup如何使用

    3.2.2、子组件向父组件传递数据

    子组件向父组件传递数据,父组件修改数据

    Article.vue 内容

    <template>  <div>    {{msg}}    <button @click="sendToParent">子组件向父组件传递数据</button>  </div></template><script>export default {  props:['msg'],  setup(props, content) {    console.log(props.msg)    let newName = '群芳过后西湖好,狼籍残红。飞絮濛濛。垂柳阑干尽日风'    function sendToParent() {      content.emit('change', newName)    }    return {      sendToParent    }  }}</script>

    App.vue 内容

    <template>  <div>    <Article :msg="name" @change="changeName"></Article>  </div></template><script>import Article from '@/components/Article.vue' import {ref} from 'vue'export default {  components: {    Article  },  setup() {    let name = ref('渐行渐远渐无书,水阔鱼沉何处问')    function changeName(msg) {      name.value = msg    }    return {      name,      changeName    }  }}</script>

    App.vue 中的 name 要修改,所以使用 ref 包装

    运行效果

    前端vue3的setup如何使用

     4、setup 中使用生命周期函数

    在 setup 里,生命周期钩子前面加上 “on” 来访问组件的生命周期钩子

    setup 是围绕 beforeCreate 和 created 生命周期钩子运行的,所以不需要显式地定义它们

    setup 内部调用生命周期钩子

    前端vue3的setup如何使用

    代码示例

    <template>  <div></div></template><script>import { onBeforeMount, onMounted } from "vue"export default {  setup() {    onBeforeMount(()=>{      console.log('onBeforeMount')    })    onMounted(()=>{      console.log('mouted')    })    return {}  }}</script>

    运行效果

    前端vue3的setup如何使用

    读到这里,这篇“前端vue3的setup如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    前端vue3的setup如何使用

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    前端vue3的setup如何使用

    本文小编为大家详细介绍“前端vue3的setup如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“前端vue3的setup如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。vue3 中新增了 setup
    2023-06-29

    vue3中的setup函数如何使用

    这篇文章主要讲解了“vue3中的setup函数如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue3中的setup函数如何使用”吧!概述 一、 初识setup函数 组件中所用到的:数
    2023-06-30

    如何在vue3中使用setup、 ref、reactive

    1.初识setUp的使用简单介绍下面的代码功能:使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上。setUp函数是组合API的入口函数。这个是非常重要的。setUp可以去监听变量的变化哈!我们将会利用它ref在vue中内置,需要导入。{{countNum}}按钮import{ref}from&#39;vue&#39;exportdefault{name:&#39;App&#39;,setup(){//这一句表示的是定义了一个变量count。这个变量
    2023-05-14

    vue3中如何使用setup、 ref和reactive

    1.初识setUp的使用简单介绍下面的代码功能:使用ref函数,去使用监听某一个变量的变化,并且把它渲染到视图上。setUp函数是组合API的入口函数。这个是非常重要的。setUp可以去监听变量的变化哈!我们将会利用它ref在vue中内置,需要导入。{{countNum}}按钮import{ref}from&#39;vue&#39;exportdefault{name:&#39;App&#39;,setup(){//这一句表示的是定义了一个变量count。这个变量
    2023-05-16

    怎么使用vue3的setup()

    本篇内容主要讲解“怎么使用vue3的setup()”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用vue3的setup()”吧!从 vue2 升级到 vue3,vue3 是可以兼容 vue
    2023-06-25

    Vue3中的setup与自定义指令如何使用

    本篇内容主要讲解“Vue3中的setup与自定义指令如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3中的setup与自定义指令如何使用”吧!setup语法糖最大好处就是所有声明部分
    2023-07-06

    Vue3如何使用setup语法糖拒绝写return

    这篇“Vue3如何使用setup语法糖拒绝写return”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue3如何使用set
    2023-07-06

    如何在Vue3中使用<script lang=“ts“ setup>语法糖

    这篇“如何在Vue3中使用<script lang=“ts“ setup>语法糖”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇
    2023-07-06

    如何进行vue3基于script setup语法$refs的使用

    如何进行vue3基于script setup语法$refs的使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、vue2语法vue2语法在组件上设置ref属性后,在代码里
    2023-06-22

    如何使用Vue3和ElementPlus前端实现分片上传

    这篇文章主要讲解了“如何使用Vue3和ElementPlus前端实现分片上传”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Vue3和ElementPlus前端实现分片上传”吧!1.
    2023-07-04

    Vue3中的script setup语法糖怎么使用

    这篇文章主要介绍了Vue3中的script setup语法糖怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3中的script setup语法糖怎么使用文章都会有所收获,下面我们一起来看看吧。scr
    2023-07-04

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录