Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs dropzone,上下文外变量_Angularjs_Dropzone.js - Fatal编程技术网

Angularjs dropzone,上下文外变量

Angularjs dropzone,上下文外变量,angularjs,dropzone.js,Angularjs,Dropzone.js,我试图绑定一个变量来检测dropzone队列的上载进度,但由于某种原因,我的控制变量$scope.dropzone.sFileUpload在我更改它时跳出上下文,angular不更新模板 这是我的控制器: angular.module('DBDescriptorApp') .controller('DesignerController', ['$scope', '$rootScope', 'user', function($scope, $rootScope, user) {

我试图绑定一个变量来检测dropzone队列的上载进度,但由于某种原因,我的控制变量$scope.dropzone.sFileUpload在我更改它时跳出上下文,angular不更新模板

这是我的控制器:

angular.module('DBDescriptorApp')
.controller('DesignerController', ['$scope', '$rootScope', 'user',
    function($scope, $rootScope, user) {

        $rootScope.currentNav   = 'designer';
        $rootScope.currentUser  = user.data;

        $scope.$watch('dropzone', function (value) {
            if(value != undefined) {

                $scope.dropzone.sFileUploading = false;

                $scope.dropzone.on('addedfile', function(file) {
                    $scope.dropzone.sFileUploading = true;
                });

            }
        });

        $scope.dropzoneConfig = {
            url             : 'dropzone',
            parallelUploads : 3,
            uploadMultiple  : true,
            maxFileSize     : 30,
            addRemoveLinks  : 'dictCancelUpload'
        };

    }]);
这是我的模板:

<div ng-include="'dist/templates/header.html'"></div>

<div class="container-fluid">

    <div class="row-fluid">
        <div class="col-md-12">
            DESGINER

            <hr/>

            <form class="dropzone" method="post" enctype="multipart/form-data" ng-dropzone dropzone="dropzone" dropzone-config="dropzoneConfig">

            </form>

            <div ng-show="dropzone.sFileUploading">UPLOADING!</div>

        </div>
    </div>

</div>

我设法使用$apply更新范围,并按照Dropzone文档的建议将所有内容放在init中,代码如下:

$scope.dropzoneConfig = {
            init            : function() {
                this.on('addedfile', function() {
                    $scope.$apply(function() {
                        $scope.filesUploading = true;
                    });
                });
            },
            url             : 'dropzone',
            parallelUploads : 3,
            uploadMultiple  : true,
            maxFileSize     : 30,
            addRemoveLinks  : 'dictCancelUpload'
        };