首页 > 其他分享 >Vue 3

Vue 3

时间:2023-02-27 09:11:31浏览次数:61  
标签:count 组合式 Vue 函数 API 组件

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。

Vue 的两个核心功能:

  • 声明式渲染:Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。

  • 响应性:Vue 会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。

API 风格

Vue 的组件可以按两种不同的风格书写:选项式 API 和组合式 API (推荐)

选项式 API (Options API)#

使用选项式 API,我们可以用包含多个选项的对象来描述组件的逻辑,例如 datamethods 和 mounted。选项所定义的属性都会暴露在函数内部的 this 上,它会指向当前的组件实例。

<script>
export default {
  // data() 返回的属性将会成为响应式的状态
  // 并且暴露在 `this` 上
  data() {
    return {
      count: 0
    }
  },

  // methods 是一些用来更改状态与触发更新的函数
  // 它们可以在模板中作为事件监听器绑定
  methods: {
    increment() {
      this.count++
    }
  },

  // 生命周期钩子会在组件生命周期的各个不同阶段被调用
  // 例如这个函数就会在组件挂载完成后被调用
  mounted() {
    console.log(`The initial count is ${this.count}.`)
  }
}
</script>

<template>
  <button @click="increment">Count is: {{ count }}</button>
</template>

组合式 API (Composition API)

通过组合式 API,我们可以使用导入的 API 函数来描述组件逻辑。在单文件组件中,组合式 API 通常会与 <script setup> 搭配使用。

<script setup> 中的导入和顶层变量/函数都能够在模板中直接使用。

<script setup>
import { ref, onMounted } from 'vue'

// 响应式状态
const count = ref(0)

// 用来修改状态、触发更新的函数
function increment() {
  count.value++
}

// 生命周期钩子
onMounted(() => {
  console.log(`The initial count is ${count.value}.`)
})
</script>

<template>
  <button @click="increment">Count is: {{ count }}</button>
</template>

  

  • 当你打算用 Vue 构建完整的单页应用推荐采用组合式 API + 单文件组件。

 

 

  

 

标签:count,组合式,Vue,函数,API,组件
From: https://www.cnblogs.com/friend/p/17158499.html

相关文章

  • 在vue3+vite3中使用socket.io-client踩坑记录
    1版本问题服务端socket.io版本和client端一定要对应,否则会连接不上。前端封装业务逻辑之前,要去和后台首先确定下自己团队所需要采用的版本。2低版本socket.io-client和v......
  • vue3动态组件
    markRow:标记一个对象,使其不能成为一个响应式对象。toRaw:将响应式对象(由reactive定义的响应式)转换为普通对象。shallowRef:只处理基本数据类型的响应式,不进行对象的响应式......
  • vue3异步组件(defineAsyncComponent、Suspense的使用)
    异步组件按需引入,用到的时候再加载,异步组件的引入需要用​​defineAsyncComponent​​进行注册。​​defineAsyncComponent​​工厂函数需要返回一个Promise对象,接收对象类......
  • Vue3 | 右键菜单插件推荐v-contextmenu
    v-contextmenu-githubv-contextmenu-docv-contextmenu-预览可以非常快速实现鼠标右键菜单O(∩_∩)O~......
  • Vue的基础知识(三)
    本章将继续和大家分享Vue的一些基础知识。话不多说,下面我们直接上代码:本文内容大部分摘自Vue的官网:https://v2.cn.vuejs.org/v2/guide/首先我们先来看一下Demo的目录结构......
  • 如何实现页面倒计时秒杀功能 并保持数据与后端一致 html cdn vue模式下动态创建公共元
      首先我们来看需求,实现页面倒计时,关键是前端展示时分秒天,做好自己的倒计时函数,然后刷新页面依然会从数据源中拿到后端时刻刷新的毫秒值,再进行倒计时,这样周而复始,就......
  • Vue | css如何使用js中的变量
    如在Vue中,我们可以绑定在style上面变量,然后使用css来使用该变量,如下:<divclass="layersBoxunselect"v-move:style="`--color:${theme}`">.layersBox{color:var......
  • vue3 通过文件名称 插槽里只显示指定名称组件
    vue3过滤插槽里的组件获取到插槽,也就是VNode,根据type的名称把不符合名称的组件过滤出去想实现类似ElementUI的select效果,在el-sleect组件中放文本div或是别的组件都不显......
  • ruoyi-vue 业务模块访问出现404
    自己新增代码出现业务模块访问出现404  需要把control放在ruoyi-admin下面  包扫描  ......
  • Vue2 里如何优雅的清除一个定时器
    绝大多数人清除定时器的方法<script>exportdefault{data(){return{timer:null}},mounted(){this.timer=setInterval(()=>{......