无法从指令模板Angular访问模块

菲尔·哈德森

我正在尝试为包装ngAudio器本身创建一个包装器组件,该包装器组件将是具有控件的播放器-并与ngAudio的功能进行交互。我遇到了一些范围问题,可以将其注入组件的控制器中并在其中进行访问ngAudio,但无法从模板的范围进行访问。我尝试ngAudio使用$scope.ngAudio = ngAudio;无济于事的方法设置范围-如果有人有任何想法,那将是很棒的。我相信它将需要某种两种方式的绑定?或以某种方式通常从指令级别访问ngAudio模块。

码:

零件:

.component('player', {
  // isolated scope binding
  bindings: {
    genre: '=',
    track: '=',
    ngAudio: '<'
  },

  templateUrl : '/templates/player-directive-template.html',

  // The controller that handles our component logic
  controller : function($scope, ngAudio) {

    //tried:
    //$scope.ngAudio = ngAudio;
    ngAudio.play("https://api.soundcloud.com/tracks/167999916/stream?client_id=123456576789");

  }
});

模板

<div class="container" id="player">

  <button class='btn btn-primary' ng-click='ngAudio.paused ? ngAudio.play() : ngAudio.pause()'>{{ngAudio.paused ? "Play" : "Pause" }}</button>
 </div>
lig度

由于这是一个组件,您是否尝试过...

this.ngAudio = ngAudio;

不,实际上,根据文档,您要将其设置为load的结果play,例如:

this.audio = ngAudio.play("https://api.soundcloud.com/tracks/167999916/stream?client_id=123456576789");

请参阅位于http://danielstern.github.io/ngAudio/#/docs的文档中的“角度音频示例” (位于页面的最底部)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章