angular.js - Ask about the scope of scope in angular
伊谢尔伦
伊谢尔伦 2017-05-15 16:58:56
0
1
484
AppendBookApp.controller('MainController', ['$rootScope', function($rootScope) {
    
    $rootScope.image = {};
    $rootScope.image.exists = true;
    $rootScope.image.src = '';

    $rootScope.uploader = WebUploader.create({
        server: '/upload/test',
        swf: '/libs/WebUploader/Uploader.swf',
        chunked: true,
        disableGlobalDnd: true,
        dnd: document.body,
        paste: document.body,
        pick: {
            id: '#UploadImageButton',
            label: '点击选择图片'
        },
        accept: {
            title: 'Images',
            extensions: 'gif,jpg,jpeg,bmp,png',
            mimeTypes: 'image/*'
        },
        compress: false,
        auto: true
    });

    // setTimeout(function() {
    //     $rootScope.image.src = '';
    //     console.log($rootScope.image.src);
    // }, 2000);
    //     $rootScope.image.src = '/uploadfile/2c12c2170d0a2eaee8c061060f9f91f1.png';

    $rootScope.uploader.onUploadSuccess = function(file, res) {
        $rootScope.image.src = res._raw;
        $rootScope.image.exists = true;
        console.log($rootScope.image.src);
    };

    $('.webuploader-pick').removeClass('webuploader-pick').addClass('btn btn-primary');

}]);

Why does the interface not respond when I modify the scope in the callback function of successful upload?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

reply all(1)
伊谢尔伦

In fact, the data has been modified successfully. The interface is unresponsive because the digest is not triggered. Just change the code to the following

$rootScope.uploader.onUploadSuccess = function(file, res) {
    $rootScope.$apply(function () {
        $rootScope.image.src = res._raw;
        $rootScope.image.exists = true;
        console.log($rootScope.image.src);
    });
};
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template