2

ユーザーがドロップダウンから値を選択すると、ng-change関数が呼び出されonSizeChange、値が設定$scope.maxMb $scope.maxBytes $scope.FileSizeStringされます。ドロップダウンから値が選択されたら、これらの値をディレクティブでどのように使用できますか。これらの値を分離スコープにバインドしようとしましたが、うまくいきませんでした。基本的に、htmlのディレクティブに属性として追加したサイズ選択が必要なfileSizeのでfileValue、これらの値は分離されたスコープにバインドする必要がありますが、それは起こっています.どうすればこの問題を解決できますか?

ディレクティブ.js

angular.module("App").directive('progressBarCustom', function() {
    return {
        restrict: 'E',
        scope: {
            message: "=",
            fileSize: "=",
            fileValue: "="
        },
        templateUrl: '/view/partials/progressbar.html',
        controller: "StCtrl",
        link: function(scope, el, attrs) {
            console.log("file size", scope.fileSize);
            //these values should assign to directive template once user select value from dropdown
            //start 
            scope.maxMb = scope.fileSize;
            scope.maxBytes = 1000 * 1000 * scope.maxMb;
            scope.max = scope.maxBytes;
            scope.FileSizeString = scope.fileValue;
            // end 
            el.bind('click', function(event) {
                scope.$parent.startRecording();
                scope.$parent.stopLogs();
                scope.$parent.onSizeChange();
                console.log('EVENT', event);
            });
        };
    }
});

ctrl.js

  $scope.onSizeChange = function() {
       $scope.maxMb = $scope.selectedFileSize.size;
       $scope.maxBytes = 3000;
       $scope.max = $scope.maxBytes;
       $scope.FileSizeString = $scope.selectedFileSize.value;
       console.log('FileSize', $scope.maxMb);
   }

main.html

<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>

<progress-bar-custom ng-show="progressBarFlag" message="event" fileSize="selectedFileSize.size" fileValue="selectedFileSize.value"></progress-bar-custom>

template.html

<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>
4

1 に答える 1