使用 Underscore 时无法在侦听器上获取 videojs _.bind

Can't get videojs on listener when using Underscore _.bind

这就是我让它工作的方式,但我不喜欢它的外观。我真的很想使用 _.bind

让它工作
displayVideo: function displayVideo() {
  let _this = this;
  this.videoJs = videojs('player', {}, function () {
    this.on('play', _this.onPlayerPlayButton);
    this.on('pause', _this.onPlayerPauseButton);
  });
},

.on 事件侦听器在我这样写的时候没有工作

displayVideo: function displayVideo() {
  this.videoJs = videojs('player', {}, _.bind(function () {
    this.on('play', this.onPlayerPlayButton);
    this.on('pause', this.onPlayerPauseButton);
  }, this));
},

这是下划线库中的示例。

var func = function(greeting){ return greeting + ': ' + this.name };
func = _.bind(func, {name: 'moe'}, 'hi');
func();

此示例正在运行。该函数被绑定到这个(你的对象的 displayVideo 方法的调用者)

在 underscore http://underscorejs.org/ 页面中的 underscore 页面尝试这个示例,看看它是如何工作的。

它将调用 func 函数并说 'Hi' 这个名字的参数,这是你的 _.bind 下划线函数的第二个参数,对象 {name: 'Moe'}