我正在尝试为包装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>
由于这是一个组件,您是否尝试过...
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] 删除。
我来说两句