返回

Vue 3: script setup 用法的详尽探索

前端

Vue 3: script setup 简介

Vue 3 中的 script setup 是一个新的 API,它允许您使用 JavaScript 对象来定义组件的逻辑。这使得组件的编写更加简洁和灵活。

在 script setup 中,您可以使用以下属性:

  • template : 定义组件的模板。
  • setup : 定义组件的逻辑。
  • components : 定义组件的子组件。
  • props : 定义组件的属性。
  • data : 定义组件的数据。
  • methods : 定义组件的方法。
  • watch : 定义组件的侦听器。
  • computed : 定义组件的计算属性。
  • slots : 定义组件的插槽。
  • emit : 定义组件的事件。

如何使用 script setup 编写组件

要使用 script setup 编写组件,您需要创建一个 .vue 文件。该文件的结构如下:

<template>
  <!-- 组件的模板 -->
</template>

<script setup>
  // 组件的逻辑
</script>

在 script setup 中,您可以使用 JavaScript 对象来定义组件的逻辑。例如,以下是一个使用 script setup 编写的简单组件:

<template>
  <h1>Hello, {{ name }}!</h1>
</template>

<script setup>
  const props = defineProps(['name'])
</script>

这个组件定义了一个名为 name 的属性,并将其值显示在 h1 元素中。

在 script setup 中使用 template

在 script setup 中,您可以使用 template 属性来定义组件的模板。模板可以使用 HTML、CSS 和 JavaScript 编写。

例如,以下是一个使用 template 属性定义组件模板的示例:

<template>
  <h1>Hello, {{ name }}!</h1>
  <p>This is a paragraph.</p>
</template>

<script setup>
  const props = defineProps(['name'])
</script>

这个组件的模板定义了一个 h1 元素和一个 p 元素。

在 script setup 中定义组件

在 script setup 中,您可以使用 components 属性来定义组件的子组件。子组件可以使用 .vue 文件或 JavaScript 对象来定义。

例如,以下是一个使用 components 属性定义子组件的示例:

<template>
  <MyComponent />
</template>

<script setup>
  const MyComponent = defineComponent({
    template: `<h1>Hello, world!</h1>`
  })
</script>

这个组件定义了一个名为 MyComponent 的子组件。这个子组件的模板定义了一个 h1 元素。

在 script setup 中使用 props

在 script setup 中,您可以使用 props 属性来定义组件的属性。属性是组件从父组件接收的数据。

例如,以下是一个使用 props 属性定义组件属性的示例:

<template>
  <h1>Hello, {{ name }}!</h1>
</template>

<script setup>
  const props = defineProps(['name'])
</script>

这个组件定义了一个名为 name 的属性。这个属性是从父组件接收的数据。

在 script setup 中使用 data

在 script setup 中,您可以使用 data 属性来定义组件的数据。数据是组件内部使用的私有数据。

例如,以下是一个使用 data 属性定义组件数据的示例:

<template>
  <h1>{{ count }}</h1>
  <button @click="increment">Increment</button>
</template>

<script setup>
  const data = reactive({
    count: 0
  })

  const methods = {
    increment() {
      data.count++
    }
  }
</script>

这个组件定义了一个名为 count 的数据。这个数据是组件内部使用的私有数据。

在 script setup 中使用 methods

在 script setup 中,您可以使用 methods 属性来定义组件的方法。方法是组件内部使用