路线更改角度时,外部js库不起作用

时间:2018-08-27 09:38:54

标签: javascript angular angular-ui-router video.js

我在我的应用程序上使用了一个外部库,我注意到当我更改路线然后返回库时停止工作。 库的导入是这样的:

   import videojs from "video.js"
   import  "videojs-markers"
    ....
   ngOnInit() {
      this.video = videojs('demo');
      this.video.on('pause', function () {
        this.onPauseVideo(this.video.currentTime())
      }.bind(this));
      this.video.on('play', function () {
        this.onPlayVideo(this.video.currentTime())
      }.bind(this));

      this.setUpMarkers(this.video);
        this.subscription = this.commentService.commentsChange.subscribe((newComments:VideoComment[])=>{
          this.video.markers.add(newComments.map(el=>{
            return {time:el.time,text:el.text,overlayText:el.overlayText}})
          );

        })
      }


     ....

enter image description here

任何建议。

1 个答案:

答案 0 :(得分:0)

  1. 从您的代码中删除.bind(this)。箭头功能应该有所帮助 您。
  2. 此行移至Constructor(){}
      

    this.video = videojs('demo');

  3. 删除所有事件监听器,例如ngOnDestroy(){this.video.off('pause')