引用模板是为了重复利用,提高效率
模板部分
创建一个模板vue文件,比如是tem.vue,与常见的vue有所区别
-
声明组件名称
template中声明<template> <text>{{itemData}}</text> </template>
区别:自定义组件的vue一般要定义接收值的属性或者点击事件
<script>
export default{
data(){
return{
}
},
props:{
itemData:{ // 接收值的属性字段
type: String, // 数据类型
value:''
}
},
}
</script>
-
指定数据
text引用的数据是在script中props中声明的,props中声明了两个字段,一个是type,表示类型,比如是String, Boolean,Array;value是要接收的值
页面引用部分
在引用的时候,需要:
-
通过import引入
-
通过compnents声明
-
声明数据
<template> <view> <temText :itemData="title"></temText> </view> </template> <script> import temText from 'pages/tem/template.vue' export default{ data(){ return{ title:'父标题' } }, components: { temText // 名称需要与前面import的名称一致 } } </script>
这个:itemData是和模板文件中的props里声明的名称是一致的,这样模板就可以用到引用页面的数据了
数据相关部分
尽量不要在子组件中,直接修改父组件传递过来的数据及其值,而是使用 e m i t ; emit; emit;on的方式去修改,否则容易造成数据修改后,展示不刷新的问题