您好我有一个模板,我有链接下载上传的图片:
{{#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}}
链接正常工作但是今天我想在点击按钮后执行一些操作,如下所示:
Template.practicalQuestionTake.events
'click .downloadUpload': (e, template) ->
console.log @
但是在我点击下载链接后添加该事件处理程序后,我可以下载该文件但页面中断(空白页面),检查控制台中的日志,它显示错误:
"TypeError: router.route is undefined"
然后我试图返回true:
Template.practicalQuestionTake.events
'click .downloadUpload': (e, template) ->
console.log @
true
但结果相同,于是我尝试使用preventDefault
Template.practicalQuestionTake.events
'click .downloadUpload': (e, template) ->
e.preventDefault()
console.log @
现在发生任何事情,我无法下载文件,似乎没有任何反应。
如何在CollectionFS的下载链接的事件处理程序中执行某些操作?
答案 0 :(得分:1)
您好我做了很多研究,然后发现问题是Iron路由器的问题,出于某种原因,当您有一个指向外部URL的链接时,您的所有订阅和数据上下文都将丢失,因此您获得了404找不到页面或“TypeError:router.route未定义”
This is the issue此问题的解决方案:每当您拥有下载链接(Amazon S3,Dropbox,CollectionFS等)时,请在链接中使用target="_blank"
。这解决了我的问题=)