2017-08-08 18 views
0

スワイプ機能をngの繰り返しリストに追加しようとしています。しかし、スワイプはひどく機能します。スワイプジェスチャー(デスクトップ上のすべて)が認識されることがありますが、ほとんどの場合、期待通りの結果を得るために、狂人のようにクリックしてスワイプしています。角度のある素材のスワイプジェスチャーはほとんど機能しません

私はマテリアルアングルを使用しています。

コード:アンギュラ材質スワイプdocpage(https://material.angularjs.org/latest/demo/swipe)で

<div ng-repeat="link in Links | filter: { category: 'quick' }"> 
    <div ng-show="!link.show" md-swipe-left="link.show = true"> 
     <div class="lv-item "> 
      <span href="{{link.url}}" class="no-select" target="_blank" > 
       <div class="lv-title" class="no-select">{{link.title}}</div> 
        <small class="lv-small" class="no-select">{{link.description}}</small> 
      </span> 
      </div> 
     </div> 
     <div ng-show="link.show" md-swipe-right="link.show = false"> 
      <div class="lv-item delete" > 
       <button ng-click="deleteLink(link.id)">Verwijder</button> 
      </div> 
     </div> 
</div> 

それが簡単に思える、それは魔法のように動作します。しかし、私のディレクティブの実装はうまくいかないようです。むしろ、要素内のテキストをスワイプするよりも選択することができます。

また、私はスパンをa hrefにしたいと思っていますが、これは単に要素全体をスペースから引きずり出すことができます。

答えて

1

私は、すべての重要な機能を正しく動作させるために、代わりにコンテナとディレクティブを使用するべきだと考えています。ですから、すべての内容をmd-contentの中に入れて、スワイプされたdivにng-showの代わりにng-ifsを使うべきです。どのようなものになるでしょう:

<md-content> 
    <div ng-repeat="link in Links | filter: { category: 'quick' }"> 
    <div ng-if="!link.show" md-swipe-left="link.show = true"> 
     <div class="lv-item "> 
      <span href="{{link.url}}" class="no-select" target="_blank" > 
       <div class="lv-title" class="no-select">{{link.title}}</div> 
        <small class="lv-small" class="no-select">{{link.description}}</small> 
      </span> 
     </div> 
    </div> 
    <div ng-if="link.show" md-swipe-right="link.show = false"> 
     <div class="lv-item delete" > 
      <button ng-click="deleteLink(link.id)">Verwijder</button> 
     </div> 
    </div> 
    </div> 
</md-content> 

私はいくつかのMD-sidenav上のコードスニペットのこの種を使用し、それが動作します。ちなみに、クロムを使用してモバイルビューを使用している場合、md-swipe-leftは常にトリガーされ、左、右、上または下にスワイプしても問題ありません。

希望します。

+0

ありがとうございます。それは少しパフォーマンスを向上させるようだ(FirefoxとSafariでテストする)。しかし、最初のダブルスワイプの後、それは吃音を続けます。 – Kraishan

+1

編集:今はうまく動いているようです!あなたの記事に加えて、私はflex-divを両方のmd-swipe'd要素に追加しました。それは今、魅力のように機能します!ありがとうございました。 – Kraishan

関連する問題