ngAudio
için bir sarıcı bileşeni yapmaya çalışıyorum, sarıcının kendisi kontrolleri olan oyuncu olacak ve ngAudio’nun işlevleri ile etkileşime girecek. Onunla bazı kapsam sorunları yaşıyorum, bunu bileşenin denetleyicisine enjekte edebilirim ve oradaki ngAudio
'a erişebilirim, ancak şablonun kapsamından erişemiyorum. ngAudio
'u $scope.ngAudio = ngAudio;
gibi şeyleri kullanarak kapsam içine girmeyi denedim - herhangi bir fikri varsa harika olurdu. Bir çeşit iki yönlü bağa ihtiyaç duyacağına inanıyorum? Veya ngAudio modülüne genel olarak yönerge seviyesinden erişmek için bir yol.Modülden direk şablona erişilemiyor, Açısal
Kodu:
bileşen:
.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");
}
});
şablon
<div class="container" id="player">
<button class='btn btn-primary' ng-click='ngAudio.paused ? ngAudio.play() : ngAudio.pause()'>{{ngAudio.paused ? "Play" : "Pause" }}</button>
</div>
Teşekkürler! Bunu şablona bağladığınıza ve hala bakmaya gerek yok. Şablonun HTML'si içinde tanımlanmamış olarak gösteriliyor. –
ngAudio burada yönerge değildir ve erişmeye çalıştığınız şey aslında 'play' çağrısının sonucudur, bu yüzden buna atamanız gerektiğini düşünüyorum. Cevabı güncelledim, eklenen bağlantıya da bir bak. – Meligy
Teşekkürler! Haklıydınız, bir örneğe karşı hizmetten söz ediyordum. İyi günler :) –