vue .prop修饰符

一、官网概念

.prop - 强制绑定为 DOM property
原本自定义属性默认会绑定在DOM的attributes上,加上prop之后会绑定在property,attributes上就不存在咯

在页面上的一个明显区别就是:不加prop时,DOM渲染后自定义属性和值都是暴露在节点上,而加上之后是隐藏了。这应该也是最主要的一个功能,避免数据暴露!

二、什么是property?什么是attributes?

property:DOM元素的属性(property)值 ,是DOM对象原生实现的,例如.obj.id obj.class 这样直接获取目标对象的值
attributes:是HTML中的特性(attribute),而这些特性有的未必会被内置为的DOM元素的属性。比如自定义的特性, 可以使用obj.getAttribute(‘id’),的方法来获取目标对象的属性值。

三、写一写以下代码去理解!!!

代码示例
<template>
  <div>
    <h1>修饰符prop</h1>
    <input
      id="input"
      type="foo"
      :myData.prop="888"
      :myData2="666"
    />
  </div>
</template>
<script>
export default {
  mounted: function () {
    const input = document.getElementById("input");
    /**
    	myData用了prop修饰符 myData2未使用
    	根据上面的概念 property是可以拿到myData的值,但是拿不到myData2
	**/
   
    //获取DOM上propery的值 
    console.log(input.myData, input.myData2); //888 undefined
    //获取DOM上attributes上的值(第一种方法)
    console.log(input.attributes.myData,input.attributes.myData2.value); //undefined 666
    //获取DOM上attributes上的值(第二种方法)
    console.log(input.getAttribute('myData'), input.getAttribute('myData2')); //null 666
  },
};
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值