gpt4 book ai didi

javascript - AngularJS 获取单个字段的 $pristine 状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:05:08 27 4
gpt4 key购买 nike

我在 Angular 中有一个表单,其中包含多行字段,其中每一行都是一个 ng-repeat block :

<form name="myForm><table>
<tr class="item-row" ng-repeat="item in items">
<td>
<input type="text" ng-model="item.width" ng-change="processItem(item)">
</td>
<td>
<input type="text" ng-model="item.relatedWidth" ng-change="processItem(item)">
</td>
</tr>
</table></form>

在我的 $scope.processItem(item) 方法中,我希望 item.relatedWidth 匹配 item.width 的值 仅当 item.relatedWidth 的字段是原始的 - 即它未被用户编辑。如果用户编辑该字段,那么它应该被解耦。

伪代码中我想这样做:

$scope.processItem = function(item){
if(the field for item.relatedWidth is pristine){
item.relatedWidth = item.width;
}
}

我可以看到该字段具有 ng-pristineng-dirty 类,但我不知道如何以 Angular 方式获取此值。

鉴于它是由 ng-repeat 动态呈现的,我如何读取该字段的 $pristine/$dirty 状态?

最佳答案

将您的字段包装在字段集中,

<form name="testForm">
<fieldset>
<input name="testField" type="text" />
</fieldset>
</form>

现在您可以像这样访问您的表单,

$scope.testForm

for(var field in $scope.testForm)
{
if($scope.testForm[field].$pristine)
{
// Do something
}
}

现在无论在字段集中使用 ng-repeat 添加了多少字段,它仍然在 $scope.testForm 中并且可以访问。

关于javascript - AngularJS 获取单个字段的 $pristine 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25206572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com