Tôi đang cố gắng tạo thành phần bao bọc cho ngAudio
chính trình bao bọc sẽ là trình phát có điều khiển - và sẽ tương tác với các chức năng của ngAudio. Tôi đang gặp một số vấn đề về phạm vi với nó, tôi có thể đưa nó vào bộ điều khiển của thành phần và truy cập ngAudio
ở đó, nhưng tôi không thể truy cập nó từ phạm vi của mẫu. Tôi đã thử đặt ngAudio
thành phạm vi bằng cách sử dụng những thứ như $scope.ngAudio = ngAudio;
không có kết quả - nếu có bất kỳ ý tưởng nào, nó sẽ tuyệt vời. Tôi tin rằng nó sẽ cần một số loại ràng buộc hai chiều? Hoặc một cách nào đó để thường truy cập vào mô-đun ngAudio từ mức chỉ thị.Không thể truy cập mô-đun từ mẫu chỉ thị, Angular
Code:
thành phần:
.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");
}
});
mẫu
<div class="container" id="player">
<button class='btn btn-primary' ng-click='ngAudio.paused ? ngAudio.play() : ngAudio.pause()'>{{ngAudio.paused ? "Play" : "Pause" }}</button>
</div>
Cảm ơn! Chỉ cần đặt điều này vào và vẫn không nhìn bằng các ràng buộc trong khuôn mẫu. Nó hiển thị dưới dạng không xác định trong HTML của mẫu. –
NgAudio ở đây là dịch vụ không phải là chỉ thị, và những gì bạn đang cố gắng truy cập thực sự là kết quả của cuộc gọi 'play', vì vậy, tôi nghĩ bạn nên gán cho điều đó. Tôi đã cập nhật câu trả lời, hãy xem liên kết đã thêm. – Meligy
Cảm ơn bạn! Bạn đã đúng, tôi đã đề cập đến các dịch vụ như trái ngược với một thể hiện của nó. Có một ngày tuyệt vời :) –