日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)VUE3教程:Vue3.0attribute強(qiáng)制行為

信息

大悟網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

這是一個(gè)低級(jí)的內(nèi)部 API 更改,不會(huì)影響大多數(shù)開(kāi)發(fā)人員。

#概覽

下面是對(duì)這些變化的高層次總結(jié):

  • 刪除枚舉 attribute 的內(nèi)部概念,并將這些 attribute 視為普通的非布爾 attribute
  • 重大改變:如果值為布爾值,則不再刪除 attribute false。相反,它被設(shè)置為 attr=“false”。移除 attribute,使用 null 或者 undefined。

如需更深入的解釋?zhuān)?qǐng)繼續(xù)閱讀!

#2.x 語(yǔ)法

在 2.x,我們有以下策略來(lái)強(qiáng)制 v-bind 的值:

  • 對(duì)于某些 attribute/元素對(duì),Vue 始終使用相應(yīng)的 IDL attribute(property):比如 value,``,等等。
  • 對(duì)于“布爾 attribute”和 xlinks,如果它們是 falsy 的,Vue 會(huì)移除它們 (undefined,null or false) 另外加上它們 (見(jiàn)這里和這里)。
  • 對(duì)于“枚舉 attribute” (目前 contenteditable,draggablespellcheck),Vue 會(huì)嘗試強(qiáng)制將它們串起來(lái) (目前對(duì) contenteditable 做了特殊處理,修復(fù) vuejs/vue#9397)。
  • 對(duì)于其他 attribute,我們移除了 falsy 值 (undefined,null,or false) 并按原樣設(shè)置其他值 (見(jiàn)這里)。

下表描述了 Vue 如何使用普通非布爾 attribute 強(qiáng)制“枚舉 attribute”:

綁定表達(dá)式 foo 正常 draggable 枚舉
:attr="null"/draggable="false"
:attr="undefined"//
:attr="true"foo="true"draggable="true"
:attr="false"/draggable="false"
:attr="0"foo="0"draggable="true"
attr=""foo=""draggable="true"
attr="foo"foo="foo"draggable="true"
attrfoo=""draggable="true"

從上表可以看出,當(dāng)前實(shí)現(xiàn) true 強(qiáng)制為 'true' 但如果 attribute 為 false,則移除該 attribute。這也導(dǎo)致了不一致性,并要求用戶在非常常見(jiàn)的用例中手動(dòng)強(qiáng)制布爾值為字符串,例如 aria-* attribute 像 aria-selectedaria-hidden,等等。

#3.x 語(yǔ)法

我們打算放棄“枚舉 attribute”的內(nèi)部概念,并將它們視為普通的非布爾 HTML attribute。

  • 這解決了普通非布爾 attribute 和“枚舉 attribute”之間的不一致性
  • 它還可以使用 'true''false' 以外的值,甚至可以使用 contenteditable 等 attribute 的關(guān)鍵字`

對(duì)于非布爾 attribute,如果 attribute 為 false,Vue 將停止刪除它們,相反強(qiáng)制它們?yōu)?'false'。

  • 這解決了 truefalse 之間的不一致性,并使輸出 aria-* attributes 更容易

下表描述了新行為:

綁定表達(dá)式 foo 正常 draggable 枚舉
:attr="null"// ?
:attr="undefined"//
:attr="true"foo="true"draggable="true"
:attr="false"foo="false" ?draggable="false"
:attr="0"foo="0"draggable="0" ?
attr=""foo=""draggable="" ?
attr="foo"foo="foo"draggable="foo" ?
attrfoo=""draggable="" ?

?: 變更

布爾 attributes 的強(qiáng)制保持不變。

#遷移策略

#枚舉 attribute

缺少枚舉 attribute 和 attr="false" 可能會(huì)產(chǎn)生不同的 IDL attribute 值 (將反映實(shí)際狀態(tài)),描述如下:

缺少枚舉attr IDL attr & 值
contenteditablecontentEditable → 'inherit'
draggabledraggable → false
spellcheckspellcheck → true

為了保持原有的行為,并且我們將強(qiáng)制使用 false'false',在 3.x Vue 中,開(kāi)發(fā)人員需要將 v-bind 表達(dá)式解析為 false'false',表示 contenteditablespellcheck。

在 2.x 中,枚舉 attribute 的無(wú)效值被強(qiáng)制為 'true'。這通常是無(wú)意的,不太可能大規(guī)模依賴(lài)。在 3.x 中,應(yīng)顯式指定 true'true'

#將 false 強(qiáng)制為 'false' 而不是刪除 attribute

在 3.x,nullundefined 應(yīng)用于顯式刪除 attribute。

#2.x 和 3.x 行為的比較

Attributes v-bind value 2.x v-bind value 3.x HTML 輸出
2.x “枚舉attribute” i.e. contenteditabledraggable and spellcheck.undefinedfalseundefinednullremoved
true'true'''1'foo'true'true'"true"
null'false'false'false'"false"
其他非布爾attribute eg. aria-checkedtabindexalt, etc.undefinednullfalseundefinednullremoved
'false'false'false'"false"

當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)VUE3教程:Vue3.0attribute強(qiáng)制行為
文章網(wǎng)址:http://www.5511xx.com/article/dhhhgps.html