赞
踩
onLoad()页面加载执行,因为函数是从上到下执行的,所以调用方法和获取页面传递过来的值时,顺序要注意一下
<script> export default { data() { return { id:0, detail:{} } }, methods: { async getNewsDetail(){ console.log('yyyy'+this.id); const res = await this.$myRuquest({ url:'/api/getnew/'+this.id, }) console.log(res) this.detail = res.data.message[0] } }, onLoad(options){ this.getNewsDetail() this.id = options.id // console.log(options.id); } } </script>
如上图,代码没错,但是先调用的函数,所以当函数执行时id的值还是0,并没有将id赋值成功,所以参数是空
正确写法
<script> export default { data() { return { id:0, detail:{} } }, methods: { async getNewsDetail(){ console.log('yyyy'+this.id); const res = await this.$myRuquest({ url:'/api/getnew/'+this.id, }) console.log(res) this.detail = res.data.message[0] } }, onLoad(options){ this.id = options.id this.getNewsDetail() // console.log(options.id); } } </script>