【发布时间】:2016-01-19 00:26:18
【问题描述】:
我有一个 Angular 表单,它提交给 API,返回 201 状态代码,以及所创建对象的 ID 和令牌。我的想法是使用该标记打开一个模式并将其显示给用户。
$scope.object.token 的值已更新,但我无法在视图中更新该状态。我试过了,$scope.$apply() 我得到了一个error $digest already in progress when calling $scope.$apply()。我也试过$timeout(),但它没有更新视图。
处理该行为的控制器是:
angular.module('myApp').controller('ObjectCtrl', ['$scope', 'user', 'object', '$routeParams', '$location', '$uibModal',
function ($scope, user, object, $routeParams, $location, $uibModal, displayToken) {
$scope.object = {
user_id: user.currentUser
}
$scope.create_object = function() {
var promise = object.create($scope.object);
promise.then(function(data){
var token = data.data.token;
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: '/app/views/modal_submit_token.html',
controller: 'ObjectCtrl',
resolve: {
displayToken: function () {
$scope.object.token = token;
}
}
});
});
};
}]);
在我的 html 上,
<p><b>{{ object.token }}</b></p>
【问题讨论】:
标签: javascript angularjs angularjs-scope angularjs-controller