建立子組件(在components目錄下)
<template>
<view>
<text @tap="godata">子組件</text>
<view>{{alldata.haha}}</view>
</view>
</template>
<script>
export default {
props: {
alldata: {
type: Object
}
},
methods:{
godata:function () {
let testdata = 123
this.$emit('getdata',testdata)
}
}
}
</script>
父組件使用
引入組件(其實跟vue組件的方式一樣)
<script>
import testcom from '../../components/test.vue'(引入方式)
export default {
components: {(組件命名)
testcom,
},
data() {
return {
alldata:{
haha:"哈哈哈"
}
}
},
onLoad(ob) {
console.log(ob)
if (process.env.NODE_ENV === 'development') {(判斷是否環(huán)境)
console.log('開發(fā)環(huán)境')
} else {
console.log('生產環(huán)境')
}
},
onPageScroll(ob) {(監(jiān)聽滾動條)
console.log(ob)
},
onTabItemTap(ob) {(監(jiān)聽底部菜單點擊)
console.log(ob)
},
watch: {(監(jiān)聽路由零蓉,跟vue的方式一樣)
$route(to, from) {
console.log(to);
}
},
methods: {
goScroll: function() {
console.log(123)
uni.pageScrollTo({(指定滾動條的位置)
scrollTop: 100,
duration: 300
})
},
getdata:function(data) {(獲取子組件傳值)
console.log(data)
}
}
}
</script>
<template>
<view>
123
<text @tap="goScroll">456</text>
<view class="bor">
<view class="testdiv"></view>
<view class="testdiv"></view>
<view class="testdiv"></view>
<view class="testdiv"></view>
<view class="testdiv"></view>
<view class="testdiv"></view>
</view>
<testcom :alldata="alldata" @getdata="getdata"></testcom>
</view>
</template>