我试图将新文档插入已发布的集合中,然后立即导航到其他状态。
麻烦的是,没有插入文件。我非常确定在插入处理之前订阅正在停止。但是我怎样才能在更改状态之前等待插入?
角度视图代码
...
<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方法而不是推送收集,这可以正常但看起来很糟糕 - 如果可能的话,我想让上面的代码正常工作。
...谢谢