Angularjs angular.js视图没有';t更新

Angularjs angular.js视图没有';t更新,angularjs,Angularjs,我正在更新resource.save回调中的对象,如下所示: $scope.addProfile = function () { User.save( { "id": user_id }, $scope.createdProfile, function( savedUser, getResponseHeaders ) { //$scope.$apply(function () { $scope.user = savedUser;

我正在更新resource.save回调中的对象,如下所示:

$scope.addProfile = function () {
    User.save( { "id": user_id }, $scope.createdProfile, function( savedUser, getResponseHeaders ) {
        //$scope.$apply(function () {
            $scope.user = savedUser;
            console.debug($scope.user); // I doublechecked that this contains the correct data 
        //});
    });
};
不幸的是,视图没有正确更新。正如您所看到的,我已经尝试在apply中包装这个东西,这导致了一个错误“error:$digest ready in progress”。因此,我再次评论了这一点

不更新的视图位如下所示:

<h1>{{user.name}}</h1>
{{user.location}}
...
{{user.name}
{{user.location}
...
函数addProfile是从表单中的按钮调用的,如下所示:

<form name='profileForm' >
    <div class="section">
        <label class="title">Name <span class="help">(required)</span>
            <textarea ng-model="createdProfile.name" ></textarea>
        </label>
    </div>
    <div class="section">
        <button class="btn btn-large highlight" ng-disabled="!profileForm.$valid" ng-click="addProfile()">Save</button>
    </div>
</form>

姓名(必填)
拯救

提前感谢您的帮助

您没有在html中定义控制器

<ANY ng-controller="{expression}">
...
</ANY>

...

如果看不到控制器代码,就很难判断问题出在哪里。但是,不是
$scope.user=savedUser
,请尝试
angular.copy(savedUser$scope.user)
。谢谢您的建议。我试了一下,但没有改变一切。我在我的描述中添加了更多的上下文。让我知道这是否有帮助?这可能是一个范围问题(即,更新错误的$scope)。尝试将
console.debug($scope)
添加到save回调中,并将
{{$id}}
添加到视图中。确保您看到的范围ID都相同。再次感谢,这听起来是一个很好的建议。看起来我正在更新正确的范围。控制台调试和id打印输出都具有id“005”。还有其他想法吗?还有一个想法:在调用
$timeout
的过程中,将您的更新包装到
user
。如果这不起作用,那么我认为是时候使用jsfiddle或plunker了。不必担心resource.save是否正常工作--您/我们可以通过调用
$timeout
来替换/模拟它,以模拟服务器。不,不是这样。我正在定义控制器,我只发布了部分代码,因为整个视图有点太长,无法发布。您可以添加gist、jsfiddle或plunker吗?