Rav*_*Ram 23 javascript angularjs
我正在使用ng-click,当我将它应用于SPAN标记时会触发两次.
HTML
<div ng-app="regApp" ng-controller="RegistrationCtrl" data-ng-init="GetEventDetail()" ng-show="data.EventName">
<h2>Registration for {{data.EventName}}</h2>
<span class="btn" id="btnSave" ng-click="PostRegistration()">Save </span>
</div>
Run Code Online (Sandbox Code Playgroud)
CONTROLLER
var app = angular.module('regApp', ['ui']);
app.controller('RegistrationCtrl', function ($scope, $http) {
$scope.PostRegistration = function () {
alert('click '); <--- fires twice
/// some code here --
};
Run Code Online (Sandbox Code Playgroud)
它应该只发射一次.我怎么能找到为什么会这样,以及如何解决它?
Lan*_*don 29
您提供的代码不会触发事件两次:
http://jsfiddle.net/kNL6E/(点击Save)
也许你两次包括Angular?如果您这样做,您将收到两个警报,在此处演示:
小智 16
我遇到了类似的问题,但在我的文件中找不到Angular两次.
我使用ajax调用来加载特定的表单布局,因此我需要使用$compile在插入的DOM上激活Angular.但是,我正在使用$compile我的指令$element,它附有一个控制器.原来这个"包括"控制器两次,导致两个触发器ng-click或ng-submit.
我通过$compile直接使用插入的DOM而不是我的指令来解决这个问题$element.
seb*_*bap 10
使用相同的问题
<a ng-click="fn()"></a>
Run Code Online (Sandbox Code Playgroud)
fn被叫了两次
使用按钮固定它:
<button ng-click="fn()"></button>
Run Code Online (Sandbox Code Playgroud)
我通过删除我的ngsubmit处理程序解决了这个问题,因为我不需要它.我正在监视变更事件并使用SignalR近乎实时地更新屏幕.
我也是一个表格,ngSubmit的AngularJS文档声明:
警告:小心不要同时使用
ngClick和ngSubmit处理程序一起导致"双重提交" .有关何时可能触发的详细讨论,请参阅表单指令文档ngSubmit.
如果有人有同样的问题:这是我的问题:
<a type="submit" ng-click="login()">submit login<a>
Run Code Online (Sandbox Code Playgroud)
两者的type="submit"和ng-click="login()"引发的登录() -方法在我的控制器.
所以只需使用type = submit或ng-click指令即可
| 归档时间: |
|
| 查看次数: |
40915 次 |
| 最近记录: |