Angular 表单重置 Ajax 回调

Angular Form Resetting with Ajax Callbacks

我有一个基本表单,在提交时带有 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 不再指代它之前所做的。

虽然 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
        )