问题描述
功能上有一个跳转,先获取文章列表,点击列表中的文章跳转到对应的文章内容页面
就是A跳转到B并亲传参,
B接收到A的参数后,onLoad中修改data不生效
查资料发现,onLoad使用了箭头函数
- A页面源码:
//通过url传参
<navigator v-bind:url="'../../pages/msgView/msgView?Id=' + msgItem.Id" open-type="navigate">
<view class="msgList_Item_isRead">
<view>{{msgItem.sfck}}</view>
</view>
<view class="msgList_Item_info">
<view class="msgList_info_title">{{msgItem.bt}}</view>
<view class="msgList_info_time">{{msgItem.fbrq}}</view>
<view class="msgList_info_department">{{msgItem.bmmc}}</view>
<!-- <view class="msgList_info_ID" v-if="true">{{msgItem.ID}}</view> -->
</view>
</navigator>
- B页面源码
// 这个onLoad一定不能用箭头函数!!!
onLoad(option){
//上面用Id传参,这里也得用Id接收
console.log('onLoad触发',option.Id)
this.msgId = option.Id
},
//参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;
//如 'path?key=value&key2=value2',path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数
参考连接
https://uniapp.dcloud.io/api/router?id=navigateto
https://ask.dcloud.net.cn/question/97915