IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 从setup开始拉开Vue3的序幕 -> 正文阅读

[JavaScript知识库]从setup开始拉开Vue3的序幕

理解setup

  1. Vue3.0中一个新的配置项,值为一个函数。

  2. setup是所有Composition API(组合API)“ 表演的舞台 ”

  3. 组件中所用到的:数据、方法等等,均要配置在setup中。

setup函数的两种返回值:

  1. 若返回一个对象,则对象中的属性、方法, 在模板中均可以直接使用。(重点关注!)

  2. 若返回一个渲染函数:则可以自定义渲染内容。(了解)

    <template>
      <div>
        <!-- 在模板中使用setup配置项内返回的属性和方法 -->
        <p>姓名:{{name}}</p>
        <p>性别:{{sex}}</p>
        <p>年龄:{{age}}</p>
        <button @click="fn">点击提示</button>
      </div>
    </template>
    
    <script>
    // 引入渲染函数
    // import { h } from 'vue'
    export default {
      name: 'App',
      // 组件中所用到的:数据、方法等等,均要配置在setup中。
      setup(){
        let hello = '你好啊!'
        let name = '张三'
        let sex = '男'
        let age = 18
        function fn () {
          alert(hello)
        }
        // 若返回一个对象,则对象中的属性、方法, 在模板中均可以直接使用
        return {
          name,
          sex,
          age,
          fn
        }
    
        // 若返回一个渲染函数:则可以自定义渲染内容。(了解)
        // return ()=> h('h1',hello)
      }
      
    }
    </script>
    

使用注意点:

  1. 尽量不要与Vue2.x配置混用

    • Vue2.x配置(data、methos、computed...)中可以访问到setup中的属性、方法。

    • 但在setup中不能访问到Vue2.x配置(data、methos、computed...)。

    • 如果有重名, setup优先。

      <template>
        <div>
          <p>姓名:{{name}}</p>
          <button @click="fn">点击提示</button>
          <button @click="hi">Vue2的方法</button>
        </div>
      </template>
      
      <script>
      export default {
        name: 'App',
        // 使用Vue2的方式来定义数据和方法
        data() {
          return {
            name: '李四',
          }
        },
        methods: {
          hi() {
            alert('hello world')
          }
        },
        // 使用Vue3的方式来定义数据和方法
        setup(){
          let hello = '你好啊!'
          let name = '张三'
          function fn () {
            alert(hello)
          }
          return {
            name,
            fn
          }
        }
      }
      </script>
      

      在上述代码中我们在组件内部同时使用了vue2和vue3的语法 我们可以看到在vue3中也可以使用vue2中的一些语法 但是并不建议大家这样写

      打开页面可以看到组件内定义相同的name属性是以setup方法内定义的为准的

    ?

  2. setup不能是一个async函数,因为返回值不再是return的对象, 而是promise, 模板看不到return对象中的属性。(后期也可以返回一个Promise实例,但需要Suspense和异步组件的配合)

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-17 15:18:45  更:2021-08-17 15:19:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 17:22:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计