angular 视图未更新

clipboard.png

clipboard.png

如图 选择文件上传后,Input内会有文件路径对应显示,过程中不点击上传按钮,这时点击取消窗口后,再次打开,文件路径依旧存在。

$('.part1_top_right').click(function(){
            $('.part1').hide();
            $('.part2').hide();
            $('.part3').hide();
            $('.part4').hide();
            $('.part5').hide();
            
            $scope.filePath="";
            
            $scope.cleanSelectFiles();
        });
$scope.cleanSelectFiles = function(){
            if(uploader.queue.length > 0){
                uploader.clearQueue();
                

                
                                
            }
        }

点击取消时,Input内以为空, console.log其值也为空。

是否使用$scope.$apply? 并且在哪里使用?

阅读 3.4k
2 个回答

$('.part1_top_right').click(function(){
            $('.part1').hide();
            $('.part2').hide();
            $('.part3').hide();
            $('.part4').hide();
            $('.part5').hide();
            
            $scope.filePath="";
            $scope.$apply();
            $scope.cleanSelectFiles();
        });
$scope.cleanSelectFiles = function(){
            if(uploader.queue.length > 0){
                uploader.clearQueue();
                

                
                                
            }
        }
$('.part1_top_right').click(function(){
    $('.part1').hide();
    $('.part2').hide();
    $('.part3').hide();
    $('.part4').hide();
    $('.part5').hide();
    
    $scope.filePath="";//这就是你的input?如果是,那$apply在这就行
    $scope.$apply();
    
    $scope.cleanSelectFiles();
});

$scope.cleanSelectFiles = function(){
    if(uploader.queue.length > 0){
        uploader.clearQueue();
        

        
                        
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进