Meteor.js:如何在CollectionFS的下载链接上执行操作
您好,我有一个模板,其中有下载上传图像的链接:Meteor.js:如何在CollectionFS的下载链接上执行操作,meteor,coffeescript,collectionfs,Meteor,Coffeescript,Collectionfs,您好,我有一个模板,其中有下载上传图像的链接: {{#each uploads}} <ul class="list-group"> <li class="list-group-item">{{original.name}} <a href="{{url download=true}}" class="btn btn-primary downloadUpload" data-uploadid="{{_id}}"&
{{#each uploads}}
<ul class="list-group">
<li class="list-group-item">{{original.name}} <a href="{{url download=true}}" class="btn btn-primary downloadUpload" data-uploadid="{{_id}}">Download</a></li>
</ul>
{{/each}}
但添加事件处理程序后,单击下载链接后,我可以下载文件,但页面会断开(空白页),在控制台中检查日志时,会显示错误:
"TypeError: router.route is undefined"
然后我试着返回真值:
Template.practicalQuestionTake.events
'click .downloadUpload': (e, template) ->
console.log @
true
但同样的结果,然后我尝试使用默认值
Template.practicalQuestionTake.events
'click .downloadUpload': (e, template) ->
e.preventDefault()
console.log @
现在任何事情都发生了,我无法下载文件,似乎什么事情都没有发生
如何在CollectionFS下载链接的事件处理程序中执行某些操作?嗨,我做了大量研究,然后发现问题是Iron router的问题,出于某种原因,当您有指向外部url的链接时,您的所有订阅和数据上下文都丢失,因此您会得到一个404未找到页面或“TypeError:router.route未定义”
这个问题的解决方案是:每当你有一个下载链接(Amazon S3、dropbox、CollectionFS等)时,在你的链接中使用
target=“\u blank”
。这就解决了我的问题=)你能在路由器路径未定义的地方发布一个客户端代码示例吗?
Template.practicalQuestionTake.events
'click .downloadUpload': (e, template) ->
e.preventDefault()
console.log @