Как вызвать директиву после выбора файла в контроллере?

Я хочу отображать индикатор выполнения, когда пользователь выбирает размер файла из раскрывающегося списка и нажимает startRecording, после чего я хочу вызвать директиву. Итак, я пытаюсь изначально скрыть индикатор выполнения и при выборе файла отображать индикатор выполнения, потому что он основан на выборе файла. У меня есть много логики в контроллере директив, который выполняется. Пользователь должен сначала выбрать размер файла, а затем должна быть вызвана директива progressbar. Как я могу выполнить эту задачу?

ctrl.js

  $scope.startRecording = function () {
        $scope.progressBarFlag = true;
    }

директива.js

angular.module("App").directive('progressBarCustom', function() {
            return {
                restrict: 'E',
                scope: {
                    message: "="
                },
                templateUrl: '/view/partials/progressbar.html',
                controller: function($scope) {
                    var data = $scope.message;
                  $scope.progressBarFlag = false;
                    var currentFileBytes = [];
                    var currentBytesSum;
                    $scope.maxBytes = 3000;
                    $scope.max = $scope.maxBytes;
                    $scope.FileSizeString = $scope.selectedFileSize.value;

                }
            });

main.html

      <div class="row">
            <div class="col-md-8">
                <div class="form-group">
                    <div class="col-md-3">
                        <label>Select File Size</label>
                    </div>
                    <div class="col-md-3">
                        <select class="form-control" ng-model="selectedFileSize"  ng-options="item as item.value for item in FileSizeOptions" ng-change="onSizeChange()"><option value="">Select</option></select>
                    </div>
                    <div class="col-md-2">
                        <button type="button" class="btn btn-primary"  ng-click="startRecording()">Start Recording</button>
                    </div>
                </div>
            </div>
        </div>
<progress-bar-custom message="event"  fileSize="selectedFileSize.size" fileValue="selectedFileSize.value"></progress-bar-custom>

progressbar.html

<div class="row" ng-show="progressBarFlag">
    <div class="col-md-9">
             <uib-progressbar type="success" class="progress-striped" max="max" animate="true" value="dynamic"><span>{{downloadPercentage}}%</span></uib-progressbar>
        <p class="pull-right bytes-progress-0"><small>Recorded <strong>{{currentBytes}}</strong> of <strong>{{FileSizeString}}</strong></small></p>
    </div>
</div>

person hussain    schedule 25.08.2016    source источник
comment
Разве простое использование ng-if не сработает?   -  person VSO    schedule 25.08.2016
comment
Меня беспокоит то, что startRecording привязан к контроллеру, как это будет с пользовательской директивой?   -  person hussain    schedule 25.08.2016