uniapp虽然兼容vue,h5端也不会有什么问题但是上真机之后还会有各种各样的问题。
比如:h5端你可以通过
//父组件
//这种方式真机是无法传值的会报undefined
<view v-for="item in data" :key="item.id">
<view @click="handleClick(item)">点击</view>
</view>
export default{
data(){
return{
data:[{id:1,name:'tom'},{id:2,name:'jack'}]
}
},
methods:{
handleClick(item){
uni.navigateTo({
url: '/pages/test?name='+item.name
});
}
}
}
//真机
//父组件正确的传值方式(data- 这种传值方式只支持json字符串,直接传对象是无法传值过去的)
<view v-for="item in data" :key="item.id">
<view @click="handleClick" :data-item="JSON.stringify(item)">点击</view>
</view>
export default{
data(){
return{
data:[{id:1,name:'tom'},{id:2,name:'jack'}]
}
},
methods:{
handleClick(e){
let data= JSON.parse(e.currentTarget.dataset.item);
uni.navigateTo({
url: '/pages/test?name=' + data.name
});
}
}
}