隨著人工智慧和一些技術影響者的出現,在 Javascript 領域使用框架之前似乎跳過了很多要點。理解核心 JavaScript 概念至關重要,就像先學會走路再跑步一樣。當我得到這份新工作並且必須充分理解Vue 時,我花了時間回顧這些JavaScript,以便找到一種有效的Vue 3 開發方法,我理解並且可以使用React ...但這不是我最喜歡的框架,這是另一個討論。這就是為什麼這些基礎知識很重要:
const count = ref(0) const user = reactive({ name: 'John', age: 30 })
const greeting = computed(() => `Hello, ${user.name}!`)
const doubleCount = computed(() => count.value * 2) watch(() => user.name, (newValue, oldValue) => { console.log(`Name changed from ${oldValue} to ${newValue}`) })
export default { setup(props, { emit }) { const { title, description } = props return { title, description } } }
<template> <ul> <li v-for="item in filteredItems" :key="item.id">{{ item.name }}</li> </ul> </template> <script setup> const items = ref([/* ... */]) const filteredItems = computed(() => items.value.filter(item => item.isActive) ) </script>
import { onMounted } from 'vue' export default { async setup() { const data = ref(null) onMounted(async () => { data.value = await fetchData() }) return { data } } }
// useCounter.js import { ref } from 'vue' export function useCounter() { const count = ref(0) const increment = () => count.value++ return { count, increment } } // Component.vue import { useCounter } from './useCounter' export default { setup() { const { count, increment } = useCounter() return { count, increment } } }
class BaseComponent { constructor(name) { this.name = name } sayHello() { console.log(`Hello from ${this.name}`) } } class SpecialComponent extends BaseComponent { constructor(name, special) { super(name) this.special = special } }
<template> <div>{{ user?.profile?.name }}</div> </template> <script setup> const user = ref(null) const userName = computed(() => user.value?.profile?.name ?? 'Guest') </script>
<template> <button @click="handleClick">Click me</button> </template> <script setup> import { defineEmits } from 'vue' const emit = defineEmits(['custom-event']) function handleClick() { emit('custom-event', { data: 'Some data' }) } </script>
const count = ref(0) const user = reactive({ name: 'John', age: 30 })
這些程式碼片段示範了每個概念在 Vue 3 開發環境中的實際應用,為開發人員理解和應用這些基本 JavaScript 技能提供了具體範例。
為了說明如何在廣泛使用的初學者場景中使用這些基本的 JavaScript 概念,讓我們探索三個迷你專案:天氣應用程式、背景顏色變更器和待辦事項應用程式。這些範例將示範我們討論的概念的實際應用。
const greeting = computed(() => `Hello, ${user.name}!`)
const doubleCount = computed(() => count.value * 2) watch(() => user.name, (newValue, oldValue) => { console.log(`Name changed from ${oldValue} to ${newValue}`) })
export default { setup(props, { emit }) { const { title, description } = props return { title, description } } }
這些迷你專案說明了 JavaScript 核心概念如何在實際應用中結合在一起。它們展示了非同步程式設計、DOM 操作、事件處理、陣列方法等,為在進入 Vue3.js 開發之前理解上述基本 JavaScript 技能提供了切實的背景。
<template> <ul> <li v-for="item in filteredItems" :key="item.id">{{ item.name }}</li> </ul> </template> <script setup> const items = ref([/* ... */]) const filteredItems = computed(() => items.value.filter(item => item.isActive) ) </script>
以上是Vue 開發人員的 JavaScript 基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!