AngularJS变量不在函数之间更新

AngularJS变量不在函数之间更新,angularjs,Angularjs,我对angularJS是新手,不知道自己做错了什么 我试图实现一个编辑模式窗口,因此我制作了一个要编辑的元素的副本,然后尝试在完成图像上载后访问它,以更新图像src,但由于某些原因,上载函数中的scope变量为空。 我做错了什么 app.controller('projectsController', function($scope, $rootScope, $http, $modal) { $scope.edit = function(index){ $scope.t

我对angularJS是新手,不知道自己做错了什么

我试图实现一个编辑模式窗口,因此我制作了一个要编辑的元素的副本,然后尝试在完成图像上载后访问它,以更新图像src,但由于某些原因,上载函数中的scope变量为空。 我做错了什么

app.controller('projectsController', function($scope, $rootScope, $http, $modal) {

    $scope.edit = function(index){
        $scope.tempObj = angular.copy($scope.projects[index]);                      
        var modalInstance = $modal.open({
            templateUrl: 'projects/_edit_project',
            controller: ModalInstanceCtrl,
            resolve: {
                obj: function () { return $scope.tempObj; }
            }         
        }).result.then(function (project) { $scope.projects[index] =    project });
    }       

    $scope.processFileUpload = function(){
        console.log($scope.tempObj)    <--THIS RETURNS UNDEFINED                
    }



    var ModalInstanceCtrl = function ($scope, $modalInstance, obj) {        
        $scope.obj = obj;       
        $scope.ok = function () {
            $modalInstance.close($scope.obj);
        };
        $scope.cancel = function () {
            $modalInstance.dismiss('cancel');
        };          
    };

}
app.controller('projectsController',函数($scope,$rootScope,$http,$modal){
$scope.edit=函数(索引){
$scope.tempObj=angular.copy($scope.projects[index]);
var modalInstance=$modal.open({
templateUrl:“项目/编辑项目”,
控制器:ModalInstanceCtrl,
决心:{
obj:function(){return$scope.tempObj;}
}         
}).result.then(函数(项目){$scope.projects[index]=project});
}       
$scope.processFileUpload=函数(){

console.log($scope.tempObj)您确定$scope.projects[index]在调用编辑函数时返回一些内容吗?是的,我实际上在视图中使用了已解析的变量“obj”,并且数据就在那里。还检查了console.log以确保,$scope.tempObj在edit()中显示了正确的对象函数你能告诉我们在哪里调用
edit
processFileUpload
吗?我添加了更多的代码来显示主控制器和模态控制器。不确定这是否是定义它的最佳方法,我基本上遵循了文档中的方法:Erm。尝试在
pro的范围之外创建
modalInstanceCtrl
jectsController
。另外,请尝试
$scope.obj=obj
而不是
$scope.data={obj:obj}