发布
社区首页 >问答首页 >窗体由于嵌套视图和继承模型而无法识别无效字段。

窗体由于嵌套视图和继承模型而无法识别无效字段。
EN

Stack Overflow用户
提问于 2013-07-24 11:42:16
回答 1查看 223关注 0票数 0

在我的项目中,我使用了Angular的ui路由器作为嵌套视图。我的布局(在特定记录页上)如下所示:

在第一次加载时,所有操作都很有效,验证工作,表单保存对模型的更改等等。当您对表单进行更改,使其处于无效状态时,问题就出现了,然后浏览到另一个子导航链接,然后再返回。此时,上一次加载的表单更改了从父视图继承的模型,使其无效,但是新表单已经加载了该模型,该模型相信其所有字段都是原始的,因此表单现在处于有效状态,允许用户绕过客户端验证。除非用户编辑了一个字段,否则我似乎无法使表单再次自动唤醒和验证。

修复此问题的一种方法是在嵌套视图控制器中加载模型,因此当您再次从sub单击回到表单时,它将加载一个新的模型,但我不认为这是正确的解决方案,特别是在第一次加载时,父视图和子视图都将为模型执行GET。

我有点被困在这个问题上,任何帮助都会很感激的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-24 15:37:42

我现在想出的解决方案是复制子视图控制器中的资源:

代码语言:javascript
代码运行次数:0
复制
$scope.parent.$watch('record', function(record) {
    if (!record) return;
    $scope.record = angular.copy(record);
}

这意味着每次加载子视图时,它都会从父视图获得一个更新的副本,这样它就不会保存无效的更改。

更好的做法是推动验证,以正确地启动,但我看不到一个方法,目前这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17833004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档