当前位置:  开发笔记 > 前端 > 正文

范围对象在内部将值更改为控制器范围时更新UI

如何解决《范围对象在内部将值更改为控制器范围时更新UI》经验,为你挑选了1个好方法。

我正在写一个简单的小文件上传器,我将输入文件输入$scope.files并通过ajax调用上传,然后成功我转移$scope.files$scope.successfulUploads对象.我想在successfulUploads设置值时立即显示内联列表,它与$scope.files对象一起工作,控制台显示$scope.successfulUploads应该如此.如果你愿意,我只需要写一个可观察的.

这是我的代码:

调节器

$scope.files = [];
$scope.successfulUploads = [];

$rootScope.$on('upload:success', function() {
    //console.log('Controller: on `success`');
    for (var i = 0; i < $scope.files.length; i++) {
        $scope.successfulUploads.push($scope.files[i]);
    }
    $scope.files = [];
    console.log('successfulUploads: ' + $scope.successfulUploads);
});

HTML:


    Add Files
    

{{file.name}}
Uploaded: {{ successfulUploads.length }}

正如我所说,当我使用ng-repeat="file in files"它时效果很好.

在任何人建议使用blueimps文件上传器之前,是的,它是一个非常漂亮的文件上传器,具有强大的功能,但我需要这个与我已定义的角度模块一起工作,当我试图将它转换为它时它停止工作.今天我下载了完整的源代码并在我的localhost上"按原样"运行它它给了我同样的错误,我在截止日期.也许在以后我可以重温它.



1> Nir..:

在第二个之后:

$scope.files = [];

加:

$scope.$apply()

然后它应该工作.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有