0

嘿那里。给定 webtorrent.io,我想构建一个 VueJS 组件,显示加载磁铁文件、状态以及下载完成时触发播放器。

Vuex Store 是保存活动下载队列列表和数据流的好地方吗?

webtorrent 一切皆有可能。

var WebTorrent = require('webtorrent')

var client = new WebTorrent()

var magnetURI = 'magnet: ...'

client.add(magnetURI, { path: '/path/to/folder' }, function (torrent) {
  torrent.on('done', function () {
    console.log('torrent download finished')
  })
})

我如何使用 VueJS 构建该架构/模式?任何见解,赞赏

谢谢!

4

1 回答 1

0

我会回答,因为我找到了解决方案。然后,如果社区希望将其删除,则可以。

基本上我所做的是等待一个组件被安装。

AComponent.Vue 内部

<template>
  <keep-alive>
     <!-- HTML binding webtorrent client data -->
  </keep-alive>
</template>

<script>
  export default {
    mounted() {
      var client = WebTorrent()
    }
  }
</script>

为什么这实现了我想要的?:

  • 当我渲染另一个模板并返回到这个模板时(就好像下载队列位于小部件、模式或其他需要保持活动状态的视图中一样),保持 DOM 的那些部分保持活动状态。
  • 挂载,它是组件生命周期钩子的一部分(https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram),并且在 DOM 被操作、窗口存在(WebTorrent 需要)和组件已被渲染。
于 2018-04-17T18:07:54.837 回答