2024-05-23 14:51:57 10阅读 0喜欢
2024-05-23 14:51:50 9阅读 0喜欢
783访问人次
Camila Waz 2024-05-23 14:52:03
14
2024-05-23 14:51:44 14阅读 0喜欢
  • 组件注册有两种方式:全局注册和局部注册。
  • 全局注册
  • 使用 Vue 应用实例的 .component() 方法,让组件在当前 Vue 应用中全局可用。
import { createApp } from 'vue'

const app = createApp({})

app.component(
  // 注册的名字
  'MyComponent',
  // 组件的实现
  {
    /* ... */
  }
)
2024-05-23 14:51:38 12阅读 0喜欢
14
2024-05-23 14:51:19 14阅读 0喜欢
  • 组合式 API 获得该模板引用,需要声明一个匹配模板 ref attribute 值的 ref:
<script setup>
import { ref, onMounted } from 'vue'

// 声明一个 ref 来存放该元素的引用
// 必须和模板里的 ref 同名
const input = ref(null)

onMounted(() => {
  input.value.focus()
})
</script>

<template>
  <input ref="input" />
</template>
301
2024-05-23 14:51:12 301阅读 0喜欢
watchEffect()
  • watchEffect()是深层侦听器的简写 例如深度监听代码:
const todoId = ref(1)
const data = ref(null)

watch(
  todoId,
  async () => {
    const response = await fetch(
      `https://jsonplaceholder.typicode.com/todos/${todoId.value}`
    )
    data.value = await response.json()
  },
  { immediate: true }
)
  • watchEffect()简写后的代码:
watchEffect(async () => {
  const response = await fetch(
    `https://jsonplaceholder.typicode.com/todos/${todoId.value}`
  )
  data.value = await response.json()
})
20
2024-05-23 14:51:01 20阅读 0喜欢

生命周期钩子

  • onMounted 钩子可以用来在组件完成初始渲染并创建 DOM 节点后运行代码:
<script setup>
import { onMounted } from 'vue'

onMounted(() => {
  console.log(`the component is now mounted.`)
})
</script>

生命周期图示

good博客 图片

28
2024-05-23 14:50:54 28阅读 0喜欢
  • .lazy
  • 默认情况下,v-model 会在每次 input 事件后更新数据 (IME 拼字阶段的状态例外)。你可以添加 lazy 修饰符来改为在每次 change 事件后更新数据:
<!-- 在 "change" 事件后同步更新而不是 "input" -->
<input v-model.lazy="msg" />
  • .number

如果你想让用户输入自动转换为数字,你可以在 v-model 后添加 .number 修饰符来管理输入:

<input v-model.number="age" />
  • 如果该值无法被 parseFloat() 处理,那么将返回原始值。
  • number 修饰符会在输入框有 type="number" 时自动启用。
  • .trim
  • 如果你想要默认自动去除用户输入内容中两端的空格,你可以在 v-model 后添加 .trim 修饰符:
<input v-model.trim="msg" />
18
2024-05-23 14:50:17 18阅读 0喜欢

事件修饰符

  • 1、stop
  • 2、prevent
  • 3、self
  • 4、capture
  • 5、once
  • 6、passive
23
2024-05-23 13:41:09 23阅读 0喜欢
  • 组件上使用 v-for

  • 我们可以直接在组件上使用 v-for,和在一般的元素上使用没有区别 (别忘记提供一个 key):
<MyComponent v-for="item in items" :key="item.id" />
  • 但是,这不会自动将任何数据传递给组件,因为组件有自己独立的作用域。为了将迭代后的数据传递到组件中,我们还需要传递 props:
<MyComponent
  v-for="(item, index) in items"
  :item="item"
  :index="index"
  :key="item.id"
/>