angular meteor - 在更改状态

时间:2015-11-09 13:35:21

标签: angularjs mongodb meteor angular-meteor

我试图将新文档插入已发布的集合中,然后立即导航到其他状态。

麻烦的是,没有插入文件。我非常确定在插入处理之前订阅正在停止。但是我怎样才能在更改状态之前等待插入?

角度视图代码

...
<input name="titleInput" class="form-control" type="text" placeholder="Project title" ng-model="newProject.title" />                                          
...
<button type="submit" class="btn btn-primary pull-right" ng-click="addProject()">Save</button>               

控制器代码

$scope.newProject = {};                                                                                                                                               

$meteor.subscribe('projects').then(function(subscriptionHandle) {                                                                                                     
    $scope.projects = $scope.$meteorCollection(function() {                                                                                                             
        return Projects.find({});                                                                                                                                         
    });                                                                         
});      

// Button on page calls this function
$scope.saveProject = function() {                                                                                                                                      
    $scope.newProject._id = Random.id();
    // Push data onto collection, but doesn't have chance to insert on server 
    // before change of state is fired                                                                                                                                
    $scope.projects.push($scope.newProject);
    $state.go( "projects");                                                                                                                                             
}

我尝试使用onStop回调订阅,但订阅仍然在插入完成之前关闭。

我目前的解决方法是调用Meteor方法而不是推送收集,这可以正常但看起来很糟糕 - 如果可能的话,我想让上面的代码正常工作。

...谢谢

0 个答案:

没有答案