2016-09-08 3 views
0

Я хочу, чтобы мой контроллер имел доступ к блобу, который хранится в директиве. В основном, я использую этот Angular Audio Recorder, и я хочу сохранить полученный .wav-файл на диск (я использую NWJS).Доступ к блобе из директивы моего контроллера (Угловой)

Я знаю, как написать файл, но я не знаю, как я могу получить доступ к блоб из моего контроллера, я не могу просто написать $scope.myBlob = audioModel, так как я получаю "audioModel is not defined"

Любые идеи будут оценены

<div class="row" ng-controller="audiotest"> 

<ng-audio-recorder id='audioInput' audio-model='recordedInput'> 
    <!-- Start controls, exposed via recorder--> 

    <div ng-if="recorder.isAvailable"> 
    <button ng-click="recorder.startRecord()" type="button" ng-disabled="recorder.status.isRecording"> 
     Start Record 
    </button> 
    <button ng-click="recorder.stopRecord()" type="button" ng-disabled="recorder.status.isRecording === false"> 
     Stop Record 
    </button> 
    <button ng-click="recorder.playbackRecording()" type="button" 
      ng-disabled="recorder.status.isRecording || !recorder.audioModel"> 
     Play Back 
    </button> 

    </div> 

    <div ng-if="!recorder.isAvailable"> 
    Message for users when recording is not possible. 
    </div> 
    <!-- End controls--> 
</ng-audio-recorder> 

</div> 

ответ

0

на основе этих строк в разметке, это выглядит как audioModel это поле на recorder, который находится на вашем $scope.

<button ng-click="recorder.playbackRecording()" type="button" 
     ng-disabled="recorder.status.isRecording || !recorder.audioModel"> 
    Play Back 
</button> 

Поэтому я бы не стал ожидать, что это работает:

$scope.myBlob = audioModel; 

Но я бы ожидать, что это что-то сделать:

$scope.myBlob = $scope.recorder.audioModel; 
+0

Это не делает вещь, я просто получаю 'TypeError: Не могу прочитать свойство audioModel 'неопределенного' Согласно документации: Контроллер для директивы ngAudioRecorder подвергается вашему шаблону (внутри элемента директивы) в качестве объектного рекордера, который может использоваться для управления записи и воспроизведения. – angularchobo

0

Понял, блоб на самом деле связаны в атрибут аудиомодели - audio-model='recordedInput', т.е. я могу получить к нему доступ в контроллере на $scope.myBlob = $scope.recordedInput"

Смежные вопросы