新聞中心
快速初始化Vue項(xiàng)目
在學(xué)習(xí)之前,我們先通過(guò)引入JS文件的方式快速初始化一個(gè) Vue 項(xiàng)目,首先我們先打開(kāi) VsCode 編輯器,具體步驟如下:

創(chuàng)新互聯(lián)建站是專(zhuān)業(yè)的觀(guān)山湖網(wǎng)站建設(shè)公司,觀(guān)山湖接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行觀(guān)山湖網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
新建一個(gè)文件夾。
新建index.html、style.css 和 index.js 文件。
新建個(gè)lib目錄,把下載好的 vue.global.js 文件放在這個(gè)目錄下(下載地址:https://unpkg.com/vue@3.2.45/dist/vue.global.js)。
完成后的目錄結(jié)構(gòu)如下:
--- index.html
--- index.js
--- lib
---vue.global.js
--- style.css然后回到 index.html 做一些代碼編寫(xiě)工作:
- 通過(guò)一個(gè) !(感嘆號(hào))快速初始化一個(gè) h5 頁(yè)面代碼
- 然后再 head 標(biāo)簽和 title 標(biāo)簽之間,引入 lib/vue.global.js 文件。
- 在 js 文件的下方引入 style.css 文件
- 在 body 中定義一個(gè) id = app 的 div 容器
- 在body標(biāo)簽結(jié)束之前引入 index.js 文件
Vue項(xiàng)目初始化
接下來(lái)回到 index.js 文件初始化 vue 實(shí)例,掛載到 id 等于 app 的實(shí)例中,代碼如下:
const app = Vue.createApp();
app.mount("#app");到這里一個(gè)簡(jiǎn)單的 Vue3 項(xiàng)目就創(chuàng)建完了,接下來(lái)我們進(jìn)入 data() 函數(shù)的學(xué)習(xí)。
如何理解 data() 數(shù)據(jù)狀態(tài)函數(shù)
在 Vue.js 中,data 函數(shù)用于定義組件實(shí)例的狀態(tài)。組件實(shí)例中定義的數(shù)據(jù)可以在模板中使用,也可以在組件的 JavaScript 邏輯中使用。
下面是一個(gè)例子,該組件有一個(gè)名為 message 的 data 屬性:
{{ message }}
在上面的例子中,data 函數(shù)返回了一個(gè)對(duì)象,該對(duì)象中有一個(gè)名為 message 的屬性。在模板中,可以使用 {{ message }} 來(lái)顯示這個(gè)屬性的值。
注意,data 屬性必須是函數(shù),這是固定用法。如果 data 屬性是一個(gè)普通對(duì)象,那么所有組件實(shí)例將共享同一個(gè)數(shù)據(jù)對(duì)象,在多個(gè)組件實(shí)例中使用同一個(gè) data 對(duì)象將會(huì)導(dǎo)致問(wèn)題。
另外,組件實(shí)例中定義的數(shù)據(jù)屬性是響應(yīng)式的,這意味著如果數(shù)據(jù)屬性的值改變,那么對(duì)應(yīng)的模板中的內(nèi)容也將自動(dòng)更新(響應(yīng)式機(jī)制,稍后會(huì)介紹)。
通過(guò)data函數(shù)返回的對(duì)象,組件內(nèi)部都能使用 this 訪(fǎng)問(wèn)到,如:
在 Vue.js 中,data 函數(shù)用于定義組件實(shí)例的狀態(tài),返回的對(duì)象中的屬性可以是任意類(lèi)型的值,包括:
- 基本類(lèi)型: 例如數(shù)字、字符串、布爾值等。
- 數(shù)組: 例如 array。
- 對(duì)象:例如 Object。
- 甚至是函數(shù)。
例如:
data() {
return {
message: 'Hello, Vue!',
count: 0,
todos: [],
user: {
name: 'John Doe',
age: 30
},
print: function(){
console.log("data function")
}
}
},在上面的例子中, 定義了message,count,todos,user,print五個(gè)數(shù)據(jù),分別是字符串,數(shù)字,數(shù)組,對(duì)象,函數(shù)。
Vue3 中你可以用 setup() 函數(shù)定義數(shù)據(jù)狀態(tài)
在 Vue 3 中,可以使用 setup() 函數(shù)來(lái)定義組件的邏輯和狀態(tài)。在 setup() 函數(shù)中,可以使用 reactive() 函數(shù)來(lái)創(chuàng)建一個(gè)響應(yīng)式對(duì)象,它可以用來(lái)存儲(chǔ)組件的狀態(tài)。下面是一個(gè)示例:
Vue 3 數(shù)據(jù)狀態(tài)示例
{{ message }}
HTML屬性綁定 Data 中的值
當(dāng)你想要綁定一個(gè)鏈接的 href 屬性到 Vue 實(shí)例中的數(shù)據(jù)時(shí),你可以這樣做:
Link這里的 v-bind:href 指令綁定了 Vue 實(shí)例中的 url 數(shù)據(jù)到鏈接的 href 屬性上。當(dāng) url 數(shù)據(jù)更新時(shí),鏈接的 href 也會(huì)更新。
同樣也可以使用縮寫(xiě):
Link需要注意的是,當(dāng)你綁定一個(gè)數(shù)據(jù)到 href 時(shí),確保你綁定的是完整的URL,不然可能會(huì)被瀏覽器理解成相對(duì)路徑。
基于 data 數(shù)據(jù)狀態(tài)進(jìn)行列表展示
在 Vue 中展示列表數(shù)據(jù)可以使用 v-for 指令。v-for 指令用于遍歷數(shù)組中的數(shù)據(jù)并將其渲染到頁(yè)面上。
假設(shè)你有一個(gè)名為 items 的數(shù)組,其中包含了要展示在頁(yè)面上的數(shù)據(jù),那么你可以在模板中使用 v-for 指令來(lái)遍歷 items 數(shù)組并將每一項(xiàng)數(shù)據(jù)渲染到頁(yè)面上。
例如:
- {{ item.name }}
當(dāng)你使用 v-for 指令來(lái)遍歷數(shù)組中的數(shù)據(jù)時(shí),你需要在指令中指定兩個(gè)值:
- 第一個(gè)值是當(dāng)前遍歷到的數(shù)組元素,在上面的例子中是 item。
- 第二個(gè)值是數(shù)組本身,在上面的例子中是 items。
在指令中你可以使用這兩個(gè)值來(lái)定義要渲染在頁(yè)面上的元素。在上面的例子中,我們使用了一個(gè) li 標(biāo)簽來(lái)渲染每一項(xiàng)數(shù)據(jù),并在里面使用了一個(gè)插值表達(dá)式來(lái)展示每一項(xiàng)的 name。
在遍歷數(shù)組時(shí),為了避免vue重復(fù)渲染,你需要給每一個(gè)元素賦予一個(gè)唯一標(biāo)識(shí)符。可以使用 v-bind 指令和 key 特性來(lái)為每一項(xiàng)綁定一個(gè)唯一的標(biāo)識(shí)符,比如上面的例子中用了每一項(xiàng)的 id 來(lái)標(biāo)識(shí)。
整體來(lái)說(shuō),使用 v-for 指令可以讓你很容易地在 Vue 中遍歷數(shù)組并將數(shù)據(jù)渲染到頁(yè)面上。
在真實(shí)項(xiàng)目中還會(huì)經(jīng)常使用 computed 和 methods 來(lái)獲取數(shù)據(jù)進(jìn)行展示, 也可以使用vuex進(jìn)行狀態(tài)管理。(在稍后的文章里會(huì)詳細(xì)介紹)
基于條件展示 Data 數(shù)據(jù)
在 Vue 中一共有 4 種方式可以基于條件展示 Data 中的數(shù)據(jù)。
使用 v-if 指令
v-if 指令用于根據(jù)條件判斷是否渲染元素。當(dāng)條件為 true 時(shí),元素會(huì)被渲染,否則元素不會(huì)被渲染。
{{ data }}
使用 v-show 指令
v-show 指令與 v-if 指令類(lèi)似,也用于根據(jù)條件判斷是否渲染元素。唯一的區(qū)別是,v-show 指令會(huì)始終渲染元素,只是在條件為 false 時(shí)將元素隱藏。
{{ data }}
使用三元運(yùn)算符
三元運(yùn)算符可以在模板中直接使用條件判斷并返回對(duì)應(yīng)的值,從而達(dá)到條件展示數(shù)據(jù)的目的.
{{showData ? data : "loading"}}
使用計(jì)算屬性 computed
可以在 computed 里面進(jìn)行條件判斷,并返回對(duì)應(yīng)的數(shù)據(jù)。
{{computedData}}
這四種方法都可以在 Vue 中基于條件展示數(shù)據(jù)。
你可以根據(jù)自己的需求來(lái)選擇使用哪一種方法。
v-if指令和v-show的區(qū)別在于,v-if會(huì)在第一次加載的時(shí)候,真正的去除不需要的元素,而v-show只是用CSS來(lái)控制元素的顯示和隱藏。所以v-if會(huì)在第一次加載時(shí)對(duì)性能有影響,而v-show在第一次加載時(shí)不會(huì)對(duì)性能產(chǎn)生影響。
計(jì)算屬性 computed 可以在數(shù)據(jù)發(fā)生改變時(shí)自動(dòng)更新,性能會(huì)比在模板中使用三元運(yùn)算符和方法好。
新聞名稱(chēng):Vue3學(xué)習(xí)筆記,快速初始化Vue項(xiàng)目及Data函數(shù)用法學(xué)習(xí)
鏈接地址:http://www.5511xx.com/article/cdejgcs.html


咨詢(xún)
建站咨詢(xún)
