国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

VUE2教程-基礎(chǔ)-模板語法

這篇具有很好參考價值的文章主要介紹了VUE2教程-基礎(chǔ)-模板語法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

模板語法

Vue.js 使用了基于 HTML 的模板語法,允許開發(fā)者聲明式地將 DOM 綁定至底層 Vue 實例的數(shù)據(jù)。所有 Vue.js 的模板都是合法的 HTML,所以能被遵循規(guī)范的瀏覽器和 HTML 解析器解析。

在底層的實現(xiàn)上,Vue 將模板編譯成虛擬 DOM 渲染函數(shù)。結(jié)合響應(yīng)系統(tǒng),Vue 能夠智能地計算出最少需要重新渲染多少組件,并把 DOM 操作次數(shù)減到最少。

如果你熟悉虛擬 DOM 并且偏愛 JavaScript 的原始力量,你也可以不用模板,直接寫渲染 (render) 函數(shù),使用可選的 JSX 語法。

文本

數(shù)據(jù)綁定最常見的形式就是使用“Mustache”語法 (雙大括號) 的文本插值:

<span>Message: {{ msg }}</span>

Mustache 標(biāo)簽將會被替代為對應(yīng)數(shù)據(jù)對象上?msg?property 的值。無論何時,綁定的數(shù)據(jù)對象上?msg?property 發(fā)生了改變,插值處的內(nèi)容都會更新。

通過使用?v-once 指令,你也能執(zhí)行一次性地插值,當(dāng)數(shù)據(jù)改變時,插值處的內(nèi)容不會更新。但請留心這會影響到該節(jié)點上的其它數(shù)據(jù)綁定

<span v-once>這個將不會改變: {{ msg }}</span>

原始 HTML

雙大括號會將數(shù)據(jù)解釋為普通文本,而非 HTML 代碼。為了輸出真正的 HTML,你需要使用?v-html?指令:

<p>Using mustaches: {{ rawHtml }}</p>
<p>Using v-html directive: <span v-html="rawHtml"></span></p>

Attribute?

Mustache 語法不能作用在 HTML attribute 上,遇到這種情況應(yīng)該使用?v-bind?指令:\

<div v-bind:id="dynamicId"></div>

對于布爾 attribute (它們只要存在就意味著值為?true),v-bind?工作起來略有不同,在這個例子中:

<button v-bind:disabled="isButtonDisabled">Button</button>

如果?isButtonDisabled?的值是?null、undefined?或?false,則?disabled?attribute 甚至不會被包含在渲染出來的?<button>?元素中。

使用 JavaScript 表達式

迄今為止,在我們的模板中,我們一直都只綁定簡單的 property 鍵值。但實際上,對于所有的數(shù)據(jù)綁定,Vue.js 都提供了完全的 JavaScript 表達式支持。

{{ number + 1 }}

{{ ok ? 'YES' : 'NO' }}

{{ message.split('').reverse().join('') }}

<div v-bind:id="'list-' + id"></div>

這些表達式會在所屬 Vue 實例的數(shù)據(jù)作用域下作為 JavaScript 被解析。有個限制就是,每個綁定都只能包含單個表達式,所以下面的例子都不會生效。

<!-- 這是語句,不是表達式 -->
{{ var a = 1 }}

<!-- 流控制也不會生效,請使用三元表達式 -->
{{ if (ok) { return message } }}

模板表達式都被放在沙盒中,只能訪問全局變量的一個白名單,如?Math?和?Date?。你不應(yīng)該在模板表達式中試圖訪問用戶定義的全局變量。

指令

指令 (Directives) 是帶有?v-?前綴的特殊 attribute。指令 attribute 的值預(yù)期是單個 JavaScript 表達式?(v-for?是例外情況,稍后我們再討論)。指令的職責(zé)是,當(dāng)表達式的值改變時,將其產(chǎn)生的連帶影響,響應(yīng)式地作用于 DOM?;仡櫸覀冊诮榻B中看到的例子:

<p v-if="seen">現(xiàn)在你看到我了</p>

這里,v-if?指令將根據(jù)表達式?seen?的值的真假來插入/移除?<p>?元素。

參數(shù)

一些指令能夠接收一個“參數(shù)”,在指令名稱之后以冒號表示。例如,v-bind?指令可以用于響應(yīng)式地更新 HTML attribute:

<a v-bind:href="url">...</a>

在這里?href?是參數(shù),告知?v-bind?指令將該元素的?href?attribute 與表達式?url?的值綁定。

另一個例子是?v-on?指令,它用于監(jiān)聽 DOM 事件:

<a v-on:click="doSomething">...</a>

動態(tài)參數(shù)

從 2.6.0 開始,可以用方括號括起來的 JavaScript 表達式作為一個指令的參數(shù):

<!--
注意,參數(shù)表達式的寫法存在一些約束,如之后的“對動態(tài)參數(shù)表達式的約束”章節(jié)所述。
-->
<a v-bind:[attributeName]="url"> ... </a>

這里的?attributeName?會被作為一個 JavaScript 表達式進行動態(tài)求值,求得的值將會作為最終的參數(shù)來使用。例如,如果你的 Vue 實例有一個?data?property?attributeName,其值為?"href",那么這個綁定將等價于?v-bind:href。

同樣地,你可以使用動態(tài)參數(shù)為一個動態(tài)的事件名綁定處理函數(shù):

<a v-on:[eventName]="doSomething"> ... </a>

在這個示例中,當(dāng)?eventName?的值為?"focus"?時,v-on:[eventName]?將等價于?v-on:focus。

對動態(tài)參數(shù)的值的約束

動態(tài)參數(shù)預(yù)期會求出一個字符串,異常情況下值為?null。這個特殊的?null?值可以被顯性地用于移除綁定。任何其它非字符串類型的值都將會觸發(fā)一個警告。

對動態(tài)參數(shù)表達式的約束

動態(tài)參數(shù)表達式有一些語法約束,因為某些字符,如空格和引號,放在 HTML attribute 名里是無效的。例如:

<!-- 這會觸發(fā)一個編譯警告 -->
<a v-bind:['foo' + bar]="value"> ... </a>

變通的辦法是使用沒有空格或引號的表達式,或用計算屬性替代這種復(fù)雜表達式。

在 DOM 中使用模板時 (直接在一個 HTML 文件里撰寫模板),還需要避免使用大寫字符來命名鍵名,因為瀏覽器會把 attribute 名全部強制轉(zhuǎn)為小寫:

<!--
在 DOM 中使用模板時這段代碼會被轉(zhuǎn)換為 `v-bind:[someattr]`。
除非在實例中有一個名為“someattr”的 property,否則代碼不會工作。
-->
<a v-bind:[someAttr]="value"> ... </a>

修飾符

修飾符 (modifier) 是以半角句號?.?指明的特殊后綴,用于指出一個指令應(yīng)該以特殊方式綁定。例如,.prevent?修飾符告訴?v-on?指令對于觸發(fā)的事件調(diào)用?event.preventDefault()

<form v-on:submit.prevent="onSubmit">...</form>

在接下來對?v-on?和?v-for?等功能的探索中,你會看到修飾符的其它例子。

縮寫

v-?前綴作為一種視覺提示,用來識別模板中 Vue 特定的 attribute。當(dāng)你在使用 Vue.js 為現(xiàn)有標(biāo)簽添加動態(tài)行為 (dynamic behavior) 時,v-?前綴很有幫助,然而,對于一些頻繁用到的指令來說,就會感到使用繁瑣。同時,在構(gòu)建由 Vue 管理所有模板的單頁面應(yīng)用程序 (SPA - single page application)?時,v-?前綴也變得沒那么重要了。因此,Vue 為?v-bind?和?v-on?這兩個最常用的指令,提供了特定簡寫:

v-bind?縮寫

<!-- 完整語法 -->
<a v-bind:href="url">...</a>

<!-- 縮寫 -->
<a :href="url">...</a>

<!-- 動態(tài)參數(shù)的縮寫 (2.6.0+) -->
<a :[key]="url"> ... </a>

v-on?縮寫

<!-- 完整語法 -->
<a v-on:click="doSomething">...</a>

<!-- 縮寫 -->
<a @click="doSomething">...</a>

<!-- 動態(tài)參數(shù)的縮寫 (2.6.0+) -->
<a @[event]="doSomething"> ... </a>

它們看起來可能與普通的 HTML 略有不同,但?:?與?@?對于 attribute 名來說都是合法字符,在所有支持 Vue 的瀏覽器都能被正確地解析。而且,它們不會出現(xiàn)在最終渲染的標(biāo)記中??s寫語法是完全可選的,但隨著你更深入地了解它們的作用,你會慶幸擁有它們。文章來源地址http://www.zghlxwxcb.cn/news/detail-580356.html

到了這里,關(guān)于VUE2教程-基礎(chǔ)-模板語法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Vue模板語法的縮寫是什么?

    Vue模板語法縮寫是VTL(View Template Language),這是一種用于構(gòu)建用戶界面的聲明式編程語言。它基于HTML,但具有更強大的數(shù)據(jù)綁定功能。下面是一些VTL的例子: 綁定文本: 這個例子中,message是Vue實例中的一個數(shù)據(jù)屬性,它會被渲染在這個段落元素中。 綁定屬性: 這個例子中

    2024年02月08日
    瀏覽(23)
  • 【Vue3 知識第三講】模板語法、Vue3指令

    插值表達式 {{ data }} 可以用于渲染 Vue 中提供的數(shù)據(jù)。 數(shù)字化管理平臺 Vue3+Vite+VueRouter+Pinia+Axios+ElementPlus 權(quán)限系統(tǒng)-商城 個人博客地址 注:vue中的插值提供了真正的js環(huán)境,因此我們可以直接使用 JS 表達式 2.1 概述 指令是什么 指令就是一個自定義屬性,Vue中的指令都是以 v

    2024年02月10日
    瀏覽(27)
  • 管理系統(tǒng)的前端模板(vue2+Element UI)

    管理系統(tǒng)的前端模板(vue2+Element UI)

    目錄 前言 一、模板展示圖 二、獲取的方式及操作運行步驟? (一)獲取方式 (二)操作步驟? 1.下載安裝node.js? 2.下載完成解壓縮后在idea的里面打開終端。 3.輸入下載相關(guān)依賴的命令 4.運行項目的命令 5.然后把給到的地址瀏覽器打開就可以了 ?三、代碼的展示(這個點的內(nèi)

    2024年02月05日
    瀏覽(31)
  • 【vue2第十四章】 插槽(普通插槽、具名插槽、作用域插槽語法)

    【vue2第十四章】 插槽(普通插槽、具名插槽、作用域插槽語法)

    插槽是什么? 在 Vue 2 中,插槽(slot)是一種用于定義組件內(nèi)部內(nèi)容分發(fā)的機制。它允許你將組件中的一部分內(nèi)容替換為用戶自定義的內(nèi)容,并在組件內(nèi)部進行渲染。 通過在組件模板中使用 slot/slot 標(biāo)簽,你可以指定一個插槽的位置。這個位置可以被父組件中的任意內(nèi)容所填

    2024年02月09日
    瀏覽(18)
  • vue3模板-vscode設(shè)置(語法糖)

    選擇菜單里的 文件 首選項 用戶代碼片段 vscode模板 結(jié)果 useCurrentInstance.ts

    2024年02月07日
    瀏覽(30)
  • vue2基礎(chǔ) 入門vue2

    vue2基礎(chǔ) 入門vue2

    vue項目搭建 vue單文件組件 mustach表達式 vue指令 methods方法 filters過濾器 computed計算屬性 watch監(jiān)聽器 vue組件 vue-router 路由 vue生命周期 vue組件通信 slot插槽 vuex 狀態(tài)管理 vuejs 是一個構(gòu)建 數(shù)據(jù)驅(qū)動 的漸進式MVVM框架 數(shù)據(jù)驅(qū)動:不用操作dom(vue) 漸進式: 漸進式開發(fā)---模塊的使用

    2024年02月13日
    瀏覽(44)
  • Vue前端框架08 Vue框架簡介、VueAPI風(fēng)格、模板語法、事件處理、數(shù)組變化偵測

    漸進式JavaScript框架,易學(xué)易用,性能出色,適用場景豐富的Web前端框架 功能是構(gòu)建用戶界面 基于標(biāo)準(zhǔn)的HTML、CSS和JavaScript,提供了一套聲明式的、組件化的編程模型,幫助高效得開發(fā)用戶界面 1.1漸進式框架 漸進式框架:Vue是一個框架也是一個生態(tài),功能覆蓋了大部分前端的

    2024年02月09日
    瀏覽(26)
  • vue2+vant2+rem+axios+釘釘自動登錄 h5模板

    請輕輕的點一下這里~ Vue CLI 需要 Node.js 8.9 或更高版本 (推薦 8.11.0+)。你可以使用 nvm 或 nvm-windows 在同一臺電腦中管理多個 Node 版本。 本示例 Node.js 14.17.0 對應(yīng)配置 .env.staging config/env.staging.js 對應(yīng)配置 .env.production config/env.production.js package.json 里的 scripts 配置 serve stage build ,通

    2024年02月03日
    瀏覽(14)
  • 【VUE2】VUE2基礎(chǔ)知識和原理--超詳細--超簡介--零基礎(chǔ)(一)

    【VUE2】VUE2基礎(chǔ)知識和原理--超詳細--超簡介--零基礎(chǔ)(一)

    想讓Vue工作,就必須創(chuàng)建一個Vue實例,且要傳入一個配置對象 demo容器里的代碼依然符合html規(guī)范,只不過混入了一些特殊的Vue語法 demo容器里的代碼被稱為【Vue模板】 Vue實例和容器是一一對應(yīng)的 真實開發(fā)中只有一個Vue實例,并且會配合著組件一起使用 {{xxx}}是Vue的語法:插值

    2024年02月16日
    瀏覽(44)
  • Vue3/ Vue3 計算屬性computed函數(shù) 語法 與 介紹 、Vue3 Vue2computed計算屬性 能不能傳參 怎么傳參

    語法: // 第一種語法get方法 (沒有set) const 函數(shù)名 = computed(() = { ? return? }) // 第二種語法 get set 方法?帶有set參數(shù) 可以設(shè)置 const 函數(shù)名 = computed(() = { get() { return 結(jié)果 }, set( val ){? } }) 觸發(fā)場景:? 如果要訪問計算屬性 會自動執(zhí)行 get 如果要修改計算屬性 會自動執(zhí)行 set 簡介

    2024年02月02日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包