我有一个包含几个字段的表单,我试图只获取修改后的字段。这是我到目前为止得到的(简化版):
<form name="formTicket">
<div class="item title">
<label for="category-assignation"><?php echo T::_("Assignation :")?></label>
<textarea type="text" name="assignation" cols="50" rows="4" id="category-assignation" data-ng-model="ticket.assignation"></textarea>
</div>
<div class="item title">
<input id="save" type="submit" value="Save" data-ng-click="saveTicketInfo()" />
</div>
</form>
在我的 controller.js 中,我有:
$scope.saveTicketInfo = function() {
console.info($scope.ticket);
console.info($scope.formTicket);
//Query to my service to save the data
Category.saveInfo.query({data: $scope.ticket});
};
在 AngularJs 之前,我会在加载表单时将字段保存在一个数组中,并将它们的值与发布的新值进行比较。我仍然可以这样做,但我正在寻找一种 AngularJs 方法。
我一直在尝试使用每个字段的 $dirty 属性,并且只向我的服务发送那些具有“true”值但这种行为不适合我的服务:如果我的字段的默认值是“test”并且用户修改输入“test2”并将其修改回“test”并发布,$dirty 将为真(即使该值没有真正改变)。
有什么方便和最佳的方法来实现我想要的吗?
感谢您的时间。