Javascript 为什么';我的角度控制器函数没有被调用吗?
Ze HTML:Javascript 为什么';我的角度控制器函数没有被调用吗?,javascript,angularjs,Javascript,Angularjs,Ze HTML: <body ng-app="ReporterApplication" ng-controller="BootstrapController as bootstrap"> <div><% boostrap.user %></div> <div id="pagePreloader"></div> <div ng-if="!bootstrap.user.lo
<body ng-app="ReporterApplication" ng-controller="BootstrapController as bootstrap">
<div><% boostrap.user %></div>
<div id="pagePreloader"></div>
<div ng-if="!bootstrap.user.logged" ng-controller="LoginController as login" class='site-wrapper-login'>
<form role="form" name="login" class="form-login">
<div class="logo-wrapper">
<img class="logo" src="/resources/images/logo.png">
<div class="logo-text">
<div class="reporter">Reporter</div>
<div class="application">Internal Application</div>
</div>
</div>
<div class="icon-input large">
<i class="icon fa fa-user"></i>
<input ng-model="login.username" type="text" name="reg_username" class="input-text" id="username" placeholder="Enter Username">
</div>
<div class="icon-input large">
<i class="icon fa fa-lock"></i>
<input ng-model="login.password" type="password" name="reg_password" class="input-text" id="password" placeholder="Enter Password">
</div>
<button class="button full large" ng-click="login.submit()">Login</button>
</form>
</div>
由于某种原因,我的提交函数没有被调用。为什么呢?我做错了什么?上帝为什么恨我!?!??!控制器堆叠是否会影响我期望代码的工作方式?
这实际上是从表单元素创建一个全局变量name
,因此它与您为控制器指定的名称冲突。从表单中删除名称:
<div ng-controller="LoginController as login" class='site-wrapper-login'>
<form role="form" class="form-login">
</form>
</div>
或者将控制器重命名为变量:
<div ng-controller="LoginController as loginCtrl">
您应该在
$scope
上定义属性和方法,例如:$scope.submit=function(){…
尝试使用post请求password@Grievoushead使用$scope
确实会触发提交功能,但不会立即解决问题是的。非常感谢您这么好的回复,我的好先生!
<div ng-controller="LoginController as loginCtrl">