- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
经过研究,我仍然陷入困境。我正在使用带有 Angular “预嵌入”的应用程序的最新版本的基础。
我有一个用于添加和编辑数据的表单 - 假设它用于工作并跟踪员工的工作天数。加载 View 时,表单完全是空的,包含两个部分 - 工作详细信息和员工详细信息。
首先,用户必须在工作部分输入并保存详细信息(以便为工作创建 ID,以便将员工链接到该工作),以便激活员工部分。这工作正常,并且可以通过将作业 ID 设置为 > 0(-1 是加载时的默认值)来启用;
到目前为止,一切正常,但我的 Controller 中有一个功能,允许加载现有的作业记录。当用户模糊三个字段之一时, Controller 会检查数据对象中是否有与这些唯一字段匹配的作业,并在范围“作业”模型中的数据中加载(angular.copy)。加载后,所有表单输入都将被设置并标记为脏。
显然,我所需的行为是,如果系统加载了工作详细信息,则表单不会被标记为脏,以便让我知道工作详细信息是否在之后的任何时候被编辑过。对于已保存并赋予 ID 的新作业,也需要同样的操作。
据我了解,setPristine() 函数实际上重置了表单和模型,类似于 form[0].reset()
但我可能错了。我还怀疑不受影响可能是一种可行的方法?
我还应该提到,它包含此 View 的所有部分,包括在员工部分中添加员工输入。
我知道我可以简单地手动删除 ng-dirty 类,但已阅读此内容,然后不会更新 Angular 方式,也不会识别进一步的编辑。
有没有一种方法可以在功能上从元素的所有子输入中删除 ng-dirty,而不是全部在表单中,并且不删除加载的数据?
注意:默认情况下,所有输入都链接(通过 ng-model
)到其相关模型,并且数据在 Controller 中加载到模型。
最佳答案
看来我误解了其他帖子中的 pristine,经过进一步测试,只有输入唯一数据的字段才更改为 dirty。我只需要在加载现有记录后对此调用 setPristine,然后可能循环遍历此部分中的所有元素来测试它们。 $setPristine 没有清除我之前读到的输入。
关于javascript - angularjs - 将某些带有数据的输入正确设置为 $pristine 或未触及,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148217/
我正在尝试创建一个 React 组件来抽象化为我的表单创建一个输入组。所有输入都具有相同的布局 - 一个标签,下面是输入,如果存在错误/信息文本,它们将显示在输入下。 以前我处理自己的表单状态/处理程
我正在尝试将子 shell 的输出行读取到数组中,但我不愿意设置 IFS,因为它是全局的。我不希望脚本的一部分影响后面的部分,因为那是不好的做法,我拒绝这样做。在命令后恢复 IFS 不是一个选项,因为
我是一名优秀的程序员,十分优秀!