有时无法识别离子按钮ng-click

时间:2017-02-02 16:03:53

标签: javascript ios angularjs cordova ionic-framework

我有一个Ionic应用程序,它包含一个使用角度的Web应用程序。

在那里,我有一些像这样的按钮:

<ion-view view-title="Orders">
  <ion-content scroll="true" overflow-scroll="true">
    <div class="row">
        <!-- some other divs with text only -->
    </div>
    <div class="row">
      <div class="col-xs-12">
        <button type="button" ng-click="vm.go('orders.new')" 
           class="button btn btn-lg btn-info">new order</button>
      </div>
    </div>
  </ion-content>
</ion-view>

有时在点击/触摸按钮时未调用方法vm.go()。在Chrome(浏览器)和Android中,它始终正常运行。即使我通过iOS上的普通safari浏览器打开页面,一切正常。

因此,它似乎是离子和/或科尔多瓦的问题。

如果我手动将事件处理程序(使用getElementById()的纯JavaScript)附加到按钮以检测触摸或鼠标事件,则会触发它们,但ng-click不会。如果发生这种情况并且没有正确触发按钮的方法,则视图会将视图滚动/设置为顶部。

对我来说,它看起来像某种竞争条件,因此有时会出现正确的行为(调用ng-click),有时则不然。

使用Ionic 1.3.2和cordova 6.0.0

有人对此有任何想法吗?

1 个答案:

答案 0 :(得分:0)

有一个div阻止了330毫秒的点击,

在“beforeenter”上添加:

class MyProtocol(Protocol):
    def connectionLost(self, reason):
        print 'Connection Lost'
        print 'Trying to reconnect'
        reactor.connectTCP(
            "localhost", 8001, Factory.forProtocol(MyProtocol),
        )

reactor.connectTCP("localhost", 8000, Factory.forProtocol(MyProtocol))
reactor.run()

有了这个,wiev将从开始回应。