我在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>
当用户点击文档(比如PDF)时,它现在调用控制器中的一个函数,该函数在Cordova InAppBrowser中打开文档。此功能正常。
我需要在里面点击一个支票,这样如果格式为.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'
})
答案 0 :(得分:0)
您的代码是正确的。您可能希望将此代码合并到一个函数中,而不是编写代码 $ scope.check_format = function(docName,format){
if(format!=&#39; autocad&#39; {openDocInAppBrowser(docName,format)} else {$ state.go(&#39; viewer&#39;,{docName:docName,format:format}) }
} 所以在html代码中ontap = check_format(docName,format)