class页面代码bug
来源:11-4 Promise的本质与用法

_奋斗的蜗牛_
2020-11-13
这样的做法在项目本身是没有问题,问题在于这种做法依赖了后端返回的数据结构必须是音乐组件之间隔着新闻或者句子组件的数据,假如返回的数据都是音乐组件的数据结构就会导致由于wx:if条件一直为true,而音乐组件的声明周期函数不会在执行,从而以下代码不会执行:
attached(event) {
console.log(‘attached is process’)
this._recoverStatus()
this._monitorSwitch()
},
造成音乐组件功能异常。老师可以测试下,确实会这样。所以课程里的解决办法个人认为逻辑上并不是最好的解决方式,希望老师给与反馈
个人解决方案是通过切换向左向右触发的事件更改isPlayMusicToogle: false,
wxml中v-music增加status="{{isPlayMusicToogle}}"
this.setData({
isPlayMusicToogle: !this.data.isPlayMusicToogle,
classic: res,
latest: classicModel.isLatest(res.index),
first: classicModel.isFirst(res.index),
})
music组件代码:
status: {
type: Boolean,
observer() {
this._recoverStatus()
},
},
…
_recoverStatus: function () {
if (mMgr.paused) {
this.setData({
playing: false,
})
return
}
if (mMgr.src == this.properties.src) {
this.setData({
playing: true,
})
} else {
this.setData({
playing: false,
})
}
},
通过父级页面classic来中转组件通信,测试没问题,老师也说过这个思路。
2回答
-
7七月
2020-11-13
你可以试试把hidden都改成if else这种
00 -
_奋斗的蜗牛_
提问者
2020-11-13
慕课的问题反馈编辑页面太垃圾,,插入代码会显示报错
00
相似问题