由于动态组件,退出会销毁,这很明显不是我们想要的,所以只能单独提取出来,而却最好把状态都放到全局来。

首先添加三个状态。

修改模板

  1. html {
  2. background: #383a41;
  3. }

单独提取出来就不会被销毁。Music 要是被销毁了,那就没法播放音频了。

修改 Main.svelte

通过全局状态来控制菜单的显隐,同样的方式,控制 Music.svelte.

  1. <div class="wrap {$music ? 'hidden': 'show'}">
  2. <div className="music-page-btn" on:click="$set({music: true})">播放器</div>
  1. this.refs.link.addEventListener(
  2. 'click',
  3. e => {
  4. music: false
  5. })
  6. this.store.changePage(this.get().to)
  7. },
  8. false
  9. )

修改播放组件

首先我们需要把状态的更改都是用 this.store.set$set 进行修改,然后还需要将文件名处理成正确的显示格式。

::-webkit-scrollbar-thumb 是简单的修改了一下滚动条的颜色。