私はIonicアプリにドキュメントのリストを表示しています。ドキュメント上のユーザータップとドキュメント拡張が.autocadで終わらない場合は、Cordova InAppBrowserでドキュメントを開く必要があります。ただし、拡張子が.autocadの場合は、ビューアの状態(サードパーティのビューアがファイルをロードする場所)にルーティングする必要があります。角度 - 条件に基づいてコントローラ機能をルーティングまたは呼び出すに移動します。
これは、文書リストはHTMLテンプレートで作成された方法です
</div>
<ion-scroll direction="y" style="{{documentListScrollHeight}}">
<ion-list ion-list can-swipe="true" show-delete="false">
<ion-item
ng-repeat="(docName, format) in folder.Documents"
class="item item-thumbnail-left" on-tap="openDocInAppBrowser(docName, format)">
<div class="row">
<h3>{{docName}}</h3>
</div>
<div class="col">
<h4 style="color: #4b4d4e">File Type: {{format}}</h4>
</div>
</div>
</ion-item>
</ion-list>
</ion-scroll>
</div>
ユーザーがドキュメントをタップすると、今それはコルドバInAppBrowserで文書を開き、コントローラ内の関数を呼び出します(PDFを言うことができます) 。この機能は正常に動作しています。
フォーマットが.autocadの場合は、代わりにビューアの状態にジャンプするように、オンタップの内部にチェックを入れる必要があります。何かのように
on-tap="if(format != 'autocad' {openDocInAppBrowser(docName, format)} else { $state.go('viewer', {docName: docName, format: format })})
Angularでこれを行う正しい方法は何ですか?ここで
は私の状態が
.state('viewer', {
url: '/viewer',
params: {
docName: null,
format: null
},
templateUrl: 'templates/viewer.html',
controller: 'viewerCtrl'
})