通过ng-click调用$ scope的方法:由IE执行两次

sp0*_*00m 7 javascript internet-explorer angularjs angularjs-ng-click ionic-framework

在我的控制器中:

$scope.homeAction = function() {
  console.log("HomeAction");
};
Run Code Online (Sandbox Code Playgroud)

在我看来:

<button ng-click="homeAction()">call homeAction()</button>
Run Code Online (Sandbox Code Playgroud)

单击按钮时,Chrome和Firefox会按预期执行该方法,但IE会执行两次.知道为什么吗?

这是一个再现问题的plunker:http://plnkr.co/edit/pedZKjIVGDAYfMl0ZphJ .

小智 13

只需添加type="button"到您的按钮,它应该是固定的.默认行为是提交,显然与您的代码混淆.

<ion-view title="Home">

  <ion-content padding="true">
    <button type="button" ng-click="homeAction()" class="button button-block button-positive">call homeAction()</button>
  </ion-content>

</ion-view>
Run Code Online (Sandbox Code Playgroud)