Angularjs, ссылающийся на форму в контроллере, получающем элемент html

У меня есть форма с именем "loginForm", в которой есть контроллер "loginController", который имеет метод "login", установленный как submit для формы. Внутри метода входа в javascript, если я ссылаюсь на форму без ссылки на нее с областью видимости; поэтому "loginForm" вместо "$ scope.loginForm"; Я получаю ссылку на элемент html, и если я проверю window.loginForm, я нахожу, что это глобальная переменная. Я пытаюсь понять, как эта переменная создается и помещается в глобальную область. Ниже приведен пример ссылки plnkr для примера того, о чем я говорю.

http://plnkr.co/YY3ls7ele8uNpnhstG3X

контроллер

(function(){
 angular.module('testApp',[])
 .controller('loginController',['$scope',function($scope){

 $scope.login = function(){
 console.debug(loginForm); //console shows html element
 console.debug(window.loginForm); //shows html element
 } 
 }]);
 })();
1 ответ

Если вы используете form вам нужно будет передать ее с точки зрения.

<form name="loginForm" ng-submit="login(loginForm)"> <p> и получить его в своем методе: -</p>


 <pre class="prettyprint linenums">$scope.login = function(loginForm){

Или используйте ng-form="formName" чтобы получить экземпляр контроллера формы как часть области, но есть проблема с 1.2 версией углового, где ng-submit не получает trigerred в ng-форме.

licensed under cc by-sa 3.0 with attribution.