Javascript AngularJS视图未使用UI路由器更新

Javascript AngularJS视图未使用UI路由器更新,javascript,angularjs,Javascript,Angularjs,我有以下资料: <div ng-repeat="m in model"> {{m.prop1}}{{m.prop2}} </div> 我尝试了$timeout和$scope.$apply,但视图仍然无法更新: var promise = ModelService.create(model,data); promise.then(function(e){ $timeout(function(){ $scope.$apply(function

我有以下资料:

<div ng-repeat="m in model">
    {{m.prop1}}{{m.prop2}}
</div>
我尝试了$timeout和$scope.$apply,但视图仍然无法更新:

var promise = ModelService.create(model,data);
promise.then(function(e){
    $timeout(function(){
        $scope.$apply(function(){
            $scope.model.push(e);
        });
    })
});
更新:ModelService.js

create: function(model, data){
            var defer = $q.defer();
            $http.post('/api/'+model+"/create", data).success(function(e){
                defer.resolve(e);
            }).error(function(e){
                defer.reject(e);
            });
            return defer.promise;
        }

获取视图以呈现模型更新有什么想法吗?

我的问题归结为控制器问题和忽略了ui路由器的工作

我有两个状态,model和model.create,我声明这两个状态使用相同的控制器ModelController

当打开model.create的ui视图时,它创建了ModelController的新实例

这意味着我将返回的数据推送到一个数组中,该数组在控制器的父states实例上呈现时没有呈现


要修复此问题,我为子状态的控制器参数传递了false,使其使用与父状态相同的实例并更新正确的数组。

您不需要$apply或$timeout。e是您期望的正确结构的对象吗?console.loge验证您的对象是的,e是正确的数据,在推送后我注销模型时,它被推送到数组中。只是没有更新的视图是指令中的视图还是直接的视图?被破坏的东西似乎不在这里。。。恐怕我们需要一张更大的照片。
create: function(model, data){
            var defer = $q.defer();
            $http.post('/api/'+model+"/create", data).success(function(e){
                defer.resolve(e);
            }).error(function(e){
                defer.reject(e);
            });
            return defer.promise;
        }