Javascript 存在与AngularJS中的$scope变量相关的问题。值在UI中未更改

Javascript 存在与AngularJS中的$scope变量相关的问题。值在UI中未更改,javascript,angularjs,Javascript,Angularjs,即使范围变量已更改,图像的值也不会在UI中更新 主控制器: $scope.TVuploadModal = function($files) { $scope.TvTemp.file = $files[0]; $scope.TvTemp.fileName = $files[0].name var fileReader = new FileReader(); fileRea

即使范围变量已更改,图像的值也不会在UI中更新

主控制器:

$scope.TVuploadModal = function($files) {
                $scope.TvTemp.file = $files[0];
                $scope.TvTemp.fileName = $files[0].name
                var fileReader = new FileReader();
                fileReader.readAsDataURL($scope.TvTemp.file);
                fileReader.onload = function(e) {
                    $timeout(function() { $scope.TvTemp.file.dataUrl = e.target.result; });
                };
                $scope.ResourceOpenBannerImageCrop('lg');
            }
            $scope.ResourceOpenBannerImageCrop = function(size) {
                $modal.open({ templateUrl: 'BannerImageCrop.html', controller: 'resourceBannerImageCropCtrl', backdrop: 'static', size: size, scope: $scope,
                    resolve: {
                        TVImages: function () {
                          return $scope.TVImages;
                        }
                      }
                }).result.then(function(images) { 
                    console.log("Hello.....");
                    console.log($scope.TVImages);
                /*$scope.TVImages = images;*/ });
            };
resourceBannerImageCropCtrl:

app.controller('resourceBannerImageCropCtrl', function($scope,$rootScope,TVImages,$routeParams, $modalInstance, $location, $upload,ResourceAdditionStepsUpdateService,mediaUploadService) {
    $scope.myCroppedImage = '';   
    $scope.TVImages1 = TVImages;
    $scope.showSpinner = false;
    $scope.imageCrop = function() {
        $scope.showSpinner = true;
        var requestMap = { imagedata:$scope.myCroppedImage, fileName:$scope.TvTemp.fileName, fileType:"Resource Images", userId: $rootScope.currentLoggedInUserId }
        var saveResourceImages = mediaUploadService.saveImagesToUserBucket(requestMap, function(response) {
            $scope.showSpinner = false;
            if (response.isSuccess) {
                var image = {}
                image.uniqueKey = response.data.uniqueKey
                image.fileUrl = response.data.url
                image.fileType  = "Resource Images"
                image.description = $scope.description  
                image.type = "IMAGE"
                image.s3UploadStatus = response.data.s3UploadStatus
                    ResourceAdditionStepsUpdateService.saveResourceImages({resourceId : $scope.resourceMetadata.resourceData.id , image : image},function(response){
                        console.log(response.data.mediaList);
                        $scope.showSpinner = false;
                        if(response.isSuccess){
                            $scope.TVImages1 = [];
                             $scope.TVImages1 = response.data.mediaList;
                             if (!$scope.$$phase) {
                                    $scope.$apply();
                                }
                        }
                    });
                $modalInstance.close(/*$scope.volcareTVImages*/);
            }
        })
    };
    $scope.cancel = function() { $modalInstance.dismiss('cancel'); };
});
HTML:


//内容
我在
resolve
中传递scope变量(即
$scope.TVImages
),您可以在我更新
$scope.TVImages1
的代码中看到这一点

根据我对双向数据绑定的理解,如果更新了
$scope.TVImages1
,则
$scope.TVImages
也应通过
解析更新

我还尝试使用
$scope.$apply
,但没有成功

我做错了什么?

卡西姆

几天前,我在更新视图中指定为ng repeat variable$scope variable的值时也遇到了这种问题

请尝试使用以下行而不是$scope.TVImages

$rootScope.TVImages将更新视图变量


如果您仍然面临一些问题,请告诉我。

我在中遇到过类似的行为。你能试着删除所有与你的角度逻辑无关的资产吗?
<div class="col-sm-4 mb20" ng-repeat="image in TVImages">
   //content
</div>