props是自定义属性,允许使用者通过自定义属性,为当前组件指定初始值
自定义属性的名字,是封装者自定义的只要合法就可以。
props可以结合v-bind一起使用:
props给属性传递的是一个字符串,如若想传递一个数字可在属性名称前添加v-bind或者添加:
props中的数据可以直接在模板结构中渲染使用,但是props是只读的(功能上可以实现修改,但直接修改容易造成props中的数据被覆盖,所以不建议修改props中的数据,造成终端报错)
如果想实现props中数据修改的功能,可以把props的值转存到data中,通过修改data中的数据来实现修改props的值。但是props的值不会随着data数据修改而修改,因此props中的数据只起到一个初始值的作用。
props默认值default
如果外界使用count组件时,没有使用init,可以通过default传递一个默认值,但是props不在写成一个数组的形式 ,要写成一个对象的形式
<script> export default{ props:{ init:{ default:0 } } } </script>
props的type属性
props的require必填项
校验有没有传递props值
props应用场景
封装组件,实现代码的复用,只对ui和样式进行要求
props组件冲突
如何解决props的组件冲突
给当前页面的style添加scope,自动为每一个标签添加一个data-v属性,不同组件中的data-v是不同的。