关于$ dirty属性并仅获取表单中的已修改字段

时间:2013-10-22 13:37:56

标签: forms angularjs

我有一个包含少量字段的表单,我只想尝试修改字段。 这是我到目前为止(简化版):

<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”值的那些但是这种行为不适合我:如果我的字段的defaut值是“test”并且用户将输入修改为“test2”并将其修改回“test”并发布,$ dirty将为true(即使该值未真正更改)。

有没有方便和最佳的方式来实现我想要的目标?

感谢您的时间。

0 个答案:

没有答案