Page 372 - AngularJS权威教程
P. 372

352  第 26 章  移动应用


                         </div>
                         <div ng-show="mail.showActions" ng-swipe-right="mail.showActions=false">
                             <ul class="actions">
                                 <li><button>Archive</button></li>
                                 <li><button>Trash</button></li>
                             </ul>
                         </div>
                     </li>
                 </ul>
















                                             图26-1  Swipe指令示例

             26.2.3  $swipe服务

                 可以直接使用$swipe服务实现更多自定义的基于touch的动画。这个$swipe服务简化了拖拽
             滑动行为的细节。

                 $swipe服务有一个独特的bind()方法。这个bind()方法接受一个要绑定swipe行为的元素作
             为参数,以及一个带有四个事件处理程序的对象。

                 这些事件处理程序需要一个参数对象,该对象包含一个坐标对象,就像:{x: 200, y: 300}。

                 这四个事件处理程序分别处理以下事件。
                   start

                 start事件在mousedown或者touchstart事件上触发。触发这一事件之后,$swipe服务会监
             控touchmove和mousemove事件。而这些事件只会在移动的距离超过特定(一小段)距离时触发
            (为了防止意外的滑动)。

                 一旦超过这个特定的距离,下面两个事件之一就会发生:
                  如果垂直增量大于水平增量,浏览器将它作为滚动事件处理;
                   如果水平增量大于垂直增量,则被当作滑动行为,然后它会设置move和end事件跟踪swipe行为。

                   move
                 实际上,在这个过程中,move事件只会在$swipe服务确定该操作是一个滑屏操作之后调用
             mousemove和touchmove事件。
                   end

                 end事件在touchend或者mouseup事件之后,并且move事件被触发后触发。
   367   368   369   370   371   372   373   374   375   376   377