Angularjs 窗体同时具有'name'属性和'ng controller'指令?

Angularjs 窗体同时具有'name'属性和'ng controller'指令?,angularjs,Angularjs,我知道form指令是FormController的一个实例,并在name属性的值下发布到当前作用域中。 如果form指令还包含ng控制器指令(如中所示),会发生什么情况 我试图了解如果ng控制器属性的名称不是FormController,会发生什么情况: <html> <head> <script src='angular.js'></script> </head> <script type='text/jav

我知道form指令是FormController的一个实例,并在name属性的值下发布到当前作用域中。 如果form指令还包含ng控制器指令(如中所示),会发生什么情况

我试图了解如果ng控制器属性的名称不是FormController,会发生什么情况:

<html>
  <head>
    <script src='angular.js'></script>
  </head>
  <script type='text/javascript'>
   Object.prototype.getName = function() { 
     var funcNameRegex = /function (.{1,})\(/;
     var results = (funcNameRegex).exec((this).constructor.toString());
     return (results && results.length > 1) ? results[1] : "";
   };
  </script>
  <body>
    <div ng-app='theApp'>
      <form name='myForm' >
      </form>
      {{myForm.getName()}}
      <form name='myForm2' ng-controller='MyFormController'>
        {{myForm2.getName()}}
      </form>
    </div>
    <script type='text/javascript'>
     angular.module('theApp', []).controller('MyFormController', ['$scope', function($scope) {}]);
    </script>
  </body>
</html>

控制器的名称并不重要

ngForm的意义在于,自动成为ngForm指令的实例,您可以将任何控制器连接到该指令

因此,最终您的myForm2将具有:

ngForm方法和道具。myForm2.$有效ecc。 MyFormController方法和道具在您的案例中。。。无:-p
ng控制器只是一个指令,也是ng表单。显然,您可以在元素上定义多个指令。每个指令可能都有控制器。问题是什么?为什么还要在窗体本身上添加ng控制器?将其添加到其父级会更有意义。真的不清楚问题出在哪里way@charlietfl在表单本身上附加一个`ng控制器是表单指令文档中显示的示例:好的,请不要混淆这两者。您将使用ng控制器来管理您的代码。。。数据模型、提交代码等。myForm2对象也将在其范围内设置
FormController
FormController