1.在项目根目录下创建 component文件夹 新建vue文件 goDetail.vue 如下 接收一个 list 和一个 index
<template name="godetail">
<view @click="handleClick">
<slot>
</slot>
</view>
</template>
<script>
export default {
name: "godetail",
//属性
props: {
list: Array,
index: Number,
},
//组件生命周期
created: function(e) {
console.log("创建了组件");
},
mounted() {
// console.log("组件加载完成");
// console.log(this.list);
// console.log(this.index);
},
methods: {
tonext: function(obj) {
},
handleClick: function(obj) {
console.log("点击了");
// 1.数据缓存
getApp().globalData.imglist = this.list;
getApp().globalData.index = this.index;
//2.跳转页面
console.log(this.item);
uni.navigateTo({
url: "/pages/product/product_detail",
})
},
}
}
</script>
<style>
</style>
2.在页面用使用
先引入组件
<script>
// 1、引用组件
import godetail from "../../component/goDetail.vue";
// import godetail from '@/component/goDetail';
// 2、注册组件
export default {
components: {
godetail
},
然后插入到 view中,包在需要点击的view外层 这里包在image外面
<scroll-view class="scroll-view" scroll-y="true" @scroll="scroll">
<view class=" scroll-view-item" v-for="(item,index) in product_list" :key="index">
<godetail :list="product_list" :index="index">
<image :src="item.product_image" mode="aspectFill" @error="imageError"></image>
<view> <text>{{item.product_name}}</text></view>
<view> <text>¥{{item.display_price}}</text></view>
</godetail>
</view>
</scroll-view>
这样点击之后就会触发组件里面的跳转方法了