仅在AngularJS中$ save成功后重定向

时间:2015-11-29 20:50:49

标签: angularjs

我正在发布一个表单,我想重定向到我的列表页面,以防表单没有错误/成功保存/保存到数据库。我如何实现这一目标?

app.controller('NoteCreateController',
  ['$scope', 'Note', '$routeParams', '$location','ShareNoteScope',
    function($scope, Note, $routeParams, $location, ShareNoteScope) {

    $scope.notes = ShareNoteScope.getScope().notes;

    $scope.newNote = {};

    $scope.createNote = function(note) {
      var newNote = new Note(note);
      newNote.$save(function(newNote) {
        $scope.notes.unshift(newNote.note);
        $scope.note = '';
        $scope.errors = '';
      }, function(newNote) {
        $scope.errors = newNote.data;
        // $location.path('/notes/'+newNote.note.id); where do I put this?
      });
    }
}]);

1 个答案:

答案 0 :(得分:0)

$save使用回调包装成功调用。上面的代码应该可以解决问题。

newNote.$save(function (newNote) {
    //success callback
    $location.path('/notes/' + newNote.note.id);

}, function (newNote) {
    $scope.errors = newNote.data;

});