赛捷软件论坛's Archiver

vicky.yu 发表于 2023-8-9 09:29

Vue 3.0 组件基础

基本实例
这里有一个 Vue 组件的示例:

// 创建一个Vue 应用
const app = Vue.createApp({})
// 定义一个名为 button-counter 的新全局组件
app.component('button-counter', {
  data() {
    return {
      count: 0
    }
  },
  template: `
    <button @click="count++">
      You clicked me {{ count }} times.
    </button>`
})
INFO

在这里演示的是一个简单的示例,但是在典型的 Vue 应用程序中,我们使用单个文件组件而不是字符串模板。你可以在本节找到有关它们的更多信息。

组件是可复用的组件实例,且带有一个名字:在这个例子中是 <button-counter>。我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用:

<div id="components-demo">
  <button-counter></button-counter>
</div>
app.mount('#components-demo')
点击此处实现

因为组件是可复用的组件实例,所以它们与 new Vue 接收相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。仅有的例外是像 el 这样根实例特有的选项。

#组件的复用
你可以将组件进行任意次数的复用:

<div id="components-demo">
  <button-counter></button-counter>
  <button-counter></button-counter>
  <button-counter></button-counter>
</div>
点击此处实现

注意当点击按钮时,每个组件都会各自独立维护它的 count。因为你每用一次组件,就会有一个它的新实例被创建。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.