EP16 - ex2. Handling Input

閱讀時間約 1 分鐘
第二個範例是Handling User Input,處理輸入的部分
就繼續來練習吧!!上一個範例都是寫在App.vue裡頭
可以內容轉移到components資料夾裡頭唷~
raw-image




第二個範例開始,我就類似用這種方式摟~
而在App.vue中則放置引用components的內容~

要怎麼引用Components呢?

在App.vue使用import把其他組件引入!

raw-image
<script setup>
import Ex1HelloWorld from './components/Ex1HelloWorld.vue';
</script>

<template>
<div id="app">
<!--使用Hello World組件-->
<Ex1HelloWorld></Ex1HelloWorld>
</div>
</template><script setup>

範例2. 處理輸入

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

const message = ref('Hello World')
function reverseMessage() {
message.value = message.value.split('').reverse().join('')
}
function notify() {
alert('navigation was prevented.')
}
</script>

<template>
<p>Example 2:</p>
<h1>{{ message }}</h1>
<button @click="reverseMessage">Reverse Message</button>
<button @click="message += '!'">Append "!"</button>
<a href="https://vuejs.org" @click.prevent="notify">
A link with e.preventDefault()
</a>
</template>

<style>
button,
a {
display: block;
margin-bottom: 1em;
}
</style>
  • import { ref } from 'vue': 引入 ref 函數,用來創建響應式變數。
  • const message = ref('Hello World'): 創建響應式變數 message,初始值為 'Hello World'
  • function reverseMessage() { ... }: 定義 reverseMessage 函數,將 message 的值反轉。
  • function notify() { ... }: 定義 notify 函數,彈出警告框。
  • <template> 中的 <h1>{{ message }}</h1>: 顯示 message 的值。
  • <button @click="reverseMessage">Reverse Message</button>: 點擊按鈕時執行 reverseMessage 函數。
  • <button @click="message += '!'">Append "!"</button>: 點擊按鈕時在 message 的值後追加一個感嘆號。
  • <a href="https://vuejs.org" @click.prevent="notify">: 點擊連結時執行 notify 函數,並防止連結跳轉。
  • <style> 中的 button, a { ... }: 設定 buttona 元素為塊級元素,並增加底部間距。

把兩個範例都import進來

raw-image
到目前為止,這兩個範例好像都蠻簡單理解的吧~
繼續下去摟!實作範例每次都是比看文件更輕鬆點www


2會員
64內容數
分享生活趣事~
留言0
查看全部
發表第一個留言支持創作者!
卡關的人生 的其他內容
透過 npm run dev 啟動開發伺服器,並可使用 VSCode 的簡單瀏覽器即時預覽。開始實作一個簡單的 "Hello World" 範例,透過 <script setup> 簡化元件定義,並理解響應式變數的運作。實作後能加深對 Vue 的理解,實踐是學習的最佳方式。
組件組成一棵樹狀結構,類似於嵌套的 HTML 元素,但 Vue 提供了自定義內容和邏輯的封裝。通常我們會在專用的 .vue 文件中定義組件,並使用 <script setup> 來輕鬆管理狀態和事件。組件可以重複使用,並透過 props 傳遞數據,使用插槽實現內容分發。
介紹如何使用 ref 屬性來獲取 DOM 元素或子組件的引用,並展示了在模板中使用 <template> 標籤來定義 HTML 結構。講解了在 Composition API 中透過 useTemplateRef 獲取引用。在 v-for 內使用 ref 生成引用陣列和綁定函數作為 ref 的方式。
在 Vue.js 中,watch 是用來監控數據變化並執行副作用的工具。副作用指的是函數對外部狀態的變更,例如更新 DOM、進行網絡請求或修改全局變量。watch 允許我們在數據變化時自動響應,這對於處理異步操作和更新狀態非常有用。它也支持深層監聽和清理功能,能夠應對複雜的副作用場景。
在這篇文章中,探討了 Vue 組件的生命周期鉤子以及它們在不同階段的應用。每個 Vue 組件在創建時,會經歷一系列初始化步驟,這些步驟中會執行特定的生命週期鉤子函數,例如 onMounted、onUpdated 和 onUnmounted 等。這些鉤子允許開發者在組件的特定階段插入自定義代碼。
使用 v-bind 可以將 HTML 屬性、樣式或類別綁定到 Vue 的數據,實現單向數據綁定。而 v-model 則是用於表單元素的雙向數據綁定,使輸入和數據同步更新。使用 v-bind 可以讓我們綁定非字符串值,例如布爾值或對象,從而在處理更複雜的應用場景時更為靈活。
透過 npm run dev 啟動開發伺服器,並可使用 VSCode 的簡單瀏覽器即時預覽。開始實作一個簡單的 "Hello World" 範例,透過 <script setup> 簡化元件定義,並理解響應式變數的運作。實作後能加深對 Vue 的理解,實踐是學習的最佳方式。
組件組成一棵樹狀結構,類似於嵌套的 HTML 元素,但 Vue 提供了自定義內容和邏輯的封裝。通常我們會在專用的 .vue 文件中定義組件,並使用 <script setup> 來輕鬆管理狀態和事件。組件可以重複使用,並透過 props 傳遞數據,使用插槽實現內容分發。
介紹如何使用 ref 屬性來獲取 DOM 元素或子組件的引用,並展示了在模板中使用 <template> 標籤來定義 HTML 結構。講解了在 Composition API 中透過 useTemplateRef 獲取引用。在 v-for 內使用 ref 生成引用陣列和綁定函數作為 ref 的方式。
在 Vue.js 中,watch 是用來監控數據變化並執行副作用的工具。副作用指的是函數對外部狀態的變更,例如更新 DOM、進行網絡請求或修改全局變量。watch 允許我們在數據變化時自動響應,這對於處理異步操作和更新狀態非常有用。它也支持深層監聽和清理功能,能夠應對複雜的副作用場景。
在這篇文章中,探討了 Vue 組件的生命周期鉤子以及它們在不同階段的應用。每個 Vue 組件在創建時,會經歷一系列初始化步驟,這些步驟中會執行特定的生命週期鉤子函數,例如 onMounted、onUpdated 和 onUnmounted 等。這些鉤子允許開發者在組件的特定階段插入自定義代碼。
使用 v-bind 可以將 HTML 屬性、樣式或類別綁定到 Vue 的數據,實現單向數據綁定。而 v-model 則是用於表單元素的雙向數據綁定,使輸入和數據同步更新。使用 v-bind 可以讓我們綁定非字符串值,例如布爾值或對象,從而在處理更複雜的應用場景時更為靈活。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
如何在 Vite 專案中安裝和設置 TypeScript 及路徑別名的步驟,包括安裝必要的依賴、配置 vite.config.js、tsconfig.json 的設置,及如何創建類型聲明文件來正確識別 .vue 文件。
Thumbnail
各位使用 Vue.js 開發的小夥伴們,你們都怎麼實作父子層組件資料的雙向綁定呢?如果你還在寫 prop + emit 的話,不妨進來看看吧。
Thumbnail
Quasar Dialog 的 Invoking custom component 很好用,但是有些困擾的地方,一起來看看有甚麼辦法吧。
Thumbnail
切換頁面卡卡有很多種原因,這裡舉的例子只針對元件太大的情境。 除了想辦法拆分外,還有一個方法就是利用 Vue 的 Async Component。
Thumbnail
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
平常我們在 html 上常看到的例如 v-for、v-model 等等... 也是VUE已經幫我們定義好的指令,而這次我們可以依這自己的需求來建立。 此功能屬於較進階的功能,因此實戰中會比較少見,市面上還是有不少完善的套件能達到同樣效果,建議可以先往這方面察找
Thumbnail
我們在實作中,難免會遇到在不同組件中,卻有需求相同的資料格式,因此 mixins 可以達到我們的需求,除了 data 以外也包含了 methods 可以共用,舉例來說,學生資料可能會在,班級跟社團內被使用,當我們要撰寫元件時,就可以省略多餘的 data 定義。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
如何在 Vite 專案中安裝和設置 TypeScript 及路徑別名的步驟,包括安裝必要的依賴、配置 vite.config.js、tsconfig.json 的設置,及如何創建類型聲明文件來正確識別 .vue 文件。
Thumbnail
各位使用 Vue.js 開發的小夥伴們,你們都怎麼實作父子層組件資料的雙向綁定呢?如果你還在寫 prop + emit 的話,不妨進來看看吧。
Thumbnail
Quasar Dialog 的 Invoking custom component 很好用,但是有些困擾的地方,一起來看看有甚麼辦法吧。
Thumbnail
切換頁面卡卡有很多種原因,這裡舉的例子只針對元件太大的情境。 除了想辦法拆分外,還有一個方法就是利用 Vue 的 Async Component。
Thumbnail
一開始你先把你的專案push上去後,修改vite.config.ts ,要在裡面新增  base: "/Cart/" (/放自己的專案名稱/) build: {outDir: "docs"}, 接下來你要去你的github setting 裡面 -> Page ->選Deploy fro
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
平常我們在 html 上常看到的例如 v-for、v-model 等等... 也是VUE已經幫我們定義好的指令,而這次我們可以依這自己的需求來建立。 此功能屬於較進階的功能,因此實戰中會比較少見,市面上還是有不少完善的套件能達到同樣效果,建議可以先往這方面察找
Thumbnail
我們在實作中,難免會遇到在不同組件中,卻有需求相同的資料格式,因此 mixins 可以達到我們的需求,除了 data 以外也包含了 methods 可以共用,舉例來說,學生資料可能會在,班級跟社團內被使用,當我們要撰寫元件時,就可以省略多餘的 data 定義。