Vue 3 迁移策略笔记—— 第28节:v-bind 合并行为

前言

本笔记主要基于官方文档《迁移策略——v-bind 合并行为》编写。如有理解出入,请以官方文档为主。建议您以官方文档为主,本文为辅。这样您可以“以自己为主”审视的阅读,从而不被我的观点带偏。

知识储备:

Vue api —— v-bind

概述

Vue 3.x 中,v-bind=“object” 的绑定顺序会影响渲染结果。

Vue 2.x 的 v-bind 合并行为

在 Vue 2.x,如果一个元素同时定义了 v-bind="object" 和一个相同的单独的 property (属性),那么这个单独的 property 总是会覆盖 object 中的绑定。

如下:

<template>
  <div id="red" v-bind="{ id: 'blue' }"></div>
</template>

渲染的结果:

<div id="red"></div>

可见,单独的 property 优先级高于v-bind="object" 里的 property 。

注意:

“单独的 property 优先级高于v-bind="object" 里的 property” 只适用于 v-bind="object" 。下面写法就不适用了:

<template>
  <div id="red" v-bind:id="'blue'"></div>
</template>

最终的渲染结果:

<div id="blue"></div>

Vue 3.x 的 v-bind 合并行为

在 Vue 3.x,如果一个元素同时定义了 v-bind="object" 和一个相同的单独的 property,那么声明绑定的顺序决定了它们如何合并,不再是“单独的 property 优先级高于v-bind="object" 里的 property”。如下:

<template>
  <div id="red" v-bind="{ id: 'blue' }"></div>
  <div v-bind="{ id: 'blue' }" id="red"></div>
</template>

渲染的结果:

<div id="blue"></div>
<div id="red"></div>

本系列目录

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值