【发布时间】:2012-09-08 19:38:58
【问题描述】:
在我的应用程序中,我有一个模型附加到类似这样的表单:
$scope.location = { description: "my descriptive description", address: "blah" }
清除表单中绑定到 ng-model="location.description" 的字段“description”,从 $scope.location 中删除该字段,变为:
$scope.location = { address: "blah" }
现在我希望它保留“描述”字段。我该怎么做才能实现 这种行为?
感谢您的帮助
【问题讨论】:
-
您能否提供一个带有代码的 jsFiddle(以及更多细节,例如使用的浏览器)。问题是我无法使用这个 jsFiddle 在 Chrome 上重现它:jsfiddle.net/pkozlowski_opensource/myMyQ/1,但您的用例可能不同。
-
我终于明白为什么该字段消失了。不依赖于浏览器。输入字段添加了一个“必需”,看起来像是这种行为的来源。删除 required 使一切按预期工作。现在只需尝试使“必需”的行为方式相同即可。感谢您的支持!
-
是的,我怀疑这是由于验证。 AngularJS 验证器的问题是模型在通过验证之前不会被绑定,因此是观察到的行为。很高兴你现在明白了。
-
'required' 和 'ng-required' 是有区别的。对我来说,'required' 是删除属性,'ng-required' 不是。
-
@pkozlowski.opensource 是否有任何技巧可以在任何输入上重现此行为,是否需要?
标签: javascript angularjs