我有一个屏幕,其中包含几堆ng-includes。最后,特别是我根据用户配置来构建屏幕。
有时,我必须在其中一个包含的模板中显示一个表单。当我的用户单击“保存”按钮时,我必须验证表单中的所有字段是否有效。
同时,当尝试访问表单对象以检查$ valid时,我的表单未定义。
经过一天的努力,我发现ng-include进程不接受要创建的表单对象。
我创建了这个插件,以查看它是否真的在一个简单的项目中发生,创建了一个有效的表单而不起作用:http ://plnkr.co/edit/4oMZYLgaYHJPoSZdSctI?p=preview
基本上,创建一个具有所需角度属性的表单,如下所示:
<form name="sampleForm">
<input type="text" name="aws" required ng-model="myValue">
<br/>myValue: "{{ myValue }}"
<br/>
<input type="text" name="aws" required ng-model="myValue">
<br/>myValue: "{{ myValue }}"
</form>
并尝试像这样访问表单对象:
$scope.sampleForm.aws.$valid
结果是:
$scope.sampleForm === undefined
有人知道如何解决这个问题吗?
由于ng-include
创建了新作用域,因此$scope.sampleForm
将在包含的页面内未定义。
解决方案应该是ng-controller="formController"
在包含的HTML页面本身内部声明,因为我看不到它不是“控制”表单的方案,所以我认为这也是一个更好的设计。
显然,其他未包含的表格也可以按照您的预期工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句