如何在 AngularJS 中访问不按其名称访问表单对象

How access a form object not by its name in AngularJS?

本文关键字:访问表 单对象 AngularJS 访问      更新时间:2023-09-26

我正在使用下面的代码来显示字段错误。现在我想重用创建部分的代码,但是如果不按名称访问表单,我就找不到一种方法来做到这一点。

有一种方法可以在不对其名称进行硬编码的情况下访问表单对象?还是把它传递给部分?

表单registerForm的代码:

<div class="error_panel">
    <div ng-show="registerForm.$submitted || registerForm.user_name.$touched">
      <span ng-show="registerForm.user_name.$error.required">
          Por favor, preencha este campo.
      </span>
    </div> 
</div>

多谢!

您可以为表单使用代理名称,然后可以在部件内部使用该名称。例如,像这样的东西。

errors.html
------------
<div class="error_panel">
<div ng-show="thisForm.$submitted || thisForm.user_name.$touched">
  <span ng-show="thisForm.user_name.$error.required">
      Por favor, preencha este campo.
  </span>
</div> 

main.html
---------
<form name="registerForm">
     .....
     <ng-include src="'errors.html'" onload="thisForm=registerForm" />
</form>

这样,ng-include 上的 onload 属性将在包含时触发,并将当前表单设置为范围,您可以在部分中使用。

请注意,您的字段名称仍然是硬编码的,但也可以在那里应用相同的逻辑。