我有一个部分html文件说test.html,我希望它包含在主页中说main.html两次。我正在我的部分文件中的文本框上进行ng-pattern。它没有应用到我的主页面。请在下面找到示例并帮助我。
test.html(部分)
<form name="testform">
<div>
<input name="firstname" ng-pattern="/^[a-zA-Z0-9]+$/">
</div>
</form>
main.html中
<div>
<div>
<ng-include src="'test.html'"></ng-include>
<button type="button" ng-show="testform.firstname.$error.pattern==false">
</div>
<div>
<ng-include src="'test.html'"></ng-include>
<button type="button" ng-show="testform.firstname.$error.pattern==false">
</div>
</div>
按钮ng-show只能处理一个div,而不是同时处理这两个div如果我使用$ parent作为部分表单名称。
请帮助我找到我遗失的内容。
答案 0 :(得分:1)
问题是您引用了相同的DOM对象。 通过specyfying name并验证它,您可以调用两次,相同的表单和相同的属性名称。 Angular曾经认为它完成了它的工作。 我认为不打算这样做,因为你可以创建两个表单。 通过添加额外的类或更改至少表单名称并使用表单名称包装ng-include,您可以解决此问题:
test.html
<div>
<input name="firstname" ng-pattern="/^[a-zA-Z0-9]+$/">
</div>
main.html
<div>
<div>
<form name="testform1">
<ng-include src="'test.html'"></ng-include>
</form>
<button type="button" ng-show="testform1.firstname.$error.pattern==false">
</div>
<div>
<form name="testform2">
<ng-include src="'test.html'"></ng-include>
</form>
<button type="button" ng-show="testform2.firstname.$error.pattern==false">
</div>
</div>
或者,您可以使用表单创建两个视图,并相应地包含它们。