使用Ajax回调重置Angular表单

时间:2015-04-18 17:34:44

标签: ajax angularjs callback coffeescript scope

我有一个基本表单,在提交时运行Angular $save操作:

app.controller 'MyThingCtrl', ($scope, MyThing) ->
    this.addThing = ->
      new MyThing(this.thing).$save(
        (data) ->
          console.log 'New Thing Saved'
          $scope.things.push data
          this.thing = {}
        ,(err) ->
          console.log 'Error: ' + err
        )

期望this.thing的表单会在成功时重置,但不是,因为this不再引用它之前所做的事情。

1 个答案:

答案 0 :(得分:0)

虽然在回调中更改了this的范围,但变量thing可通过Angular提供的$scope变量获得:

app.controller 'MyThingCtrl', ($scope, MyThing) ->
    this.addThing = ->
      new MyThing(this.thing).$save(
        (data) ->
          console.log 'New Thing Saved'
          $scope.things.push data
          $scope.thing = {}
        ,(err) ->
          console.log 'Error: ' + err
        )