项目场景:想在组件中通过书本的id来检查这本书是否被收藏。
问题:在所有生命周期函数中获取properties中的值都拿不到bookid,获取会得到一个空字符串
解决办法:
使用observers监听bookid:
observers:{
bookId(){
console.log('log',this.properties.bookId)
request.checkStar(this.properties.bookId).then((res) => {
this.setData({
isStar: res.data.data.check
})
})
}
},
可以完美解决问题。
在组件加载过程中,obervers中的bookId代码中的console.log会被执行两次,log如下: