请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

10-12 attached这个生命周期内的函数,为什么音乐总控开关可以反复调用?

10-12 attached这个生命周期内的函数,为什么音乐总控开关可以反复调用?

attached(event) {
this._recoverStatus();
this._monitorSwitch();
},

attached,组件生命周期函数,在组件实例进入页面节点树时执行。按理解包括单步调试验证,在进入音乐这个组件时,是会调用attached内的方法。按顺序调用this._recoverStatus()和this._monitorSwitch()。这个比较好理解。

我的疑问是,当去控制 音乐总控开关 时,只会调用attached内的_monitorSwitch(),但不调用_recoverStatus()。 而且反复使用这个音乐开关,就反复调用_monitorSwitch(),并且直接跳转到mMgr的所涉及的方法,而不是依次。

对于生命周期函数,我的理解是只发生“一次”,或进入,或离开,或出现,或消失等等。只有这些状态改变时才发生。而这个_monitorSwitch()有点像我们自定义的事件,只要点击 音乐总控开关 就会发生,且直接跳转到_monitorSwitch()内涉及到的方法。比如是onPause(),只会去这个,其他的不会遍历。

老师能再具体解释这个原因吗?

正在回答 回答被采纳积分+3

2回答

提问者 吃了饿饿了又吃 2018-09-12 00:44:36

音乐总控开关,控制后,直接进入_monitorSwitch内的相关方法。

https://img1.sycdn.imooc.com//szimg/5b97f0bd00012b4904240772.jpg

0 回复 有任何疑惑可以回复我~
  • 7七月 #1
    这是事件监听函数,先搞清楚是什么意思。。。 回调的概念
    回复 有任何疑惑可以回复我~ 2018-09-12 00:49:21
  • 提问者 吃了饿饿了又吃 回复 7七月 #2
    OK,我理解你的意思了。这里的是系统回调,与平时自己的写的回调确实样式有点不一样。
    回复 有任何疑惑可以回复我~ 2018-09-12 01:11:49
7七月 2018-09-12 00:38:19

音乐总控开关控制 为什么会和attached关联在一起,这又不会执行attached?

0 回复 有任何疑惑可以回复我~
  • 提问者 吃了饿饿了又吃 #1
    _monitorSwitch: function () {
          mMgr.onPlay(() => {
            this._recoverStatus();
          })
          mMgr.onPause(() => {
            this._recoverStatus();
          })
          mMgr.onStop(() => {
            this._recoverStatus();
          })
          mMgr.onEnded(() => {
            this._recoverStatus();
          })
        },
    回复 有任何疑惑可以回复我~ 2018-09-12 00:40:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信