1

您好,我有一个模板,其中有下载上传图片的链接:

{{#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 下载链接的事件处理程序中执行某些操作?

4

1 回答 1

1

嗨,我做了很多研究,然后发现问题是 Iron 路由器的问题,由于某种原因,当你有一个指向外部 url 的链接时,你的所有订阅和数据上下文都丢失了,所以你得到一个 404 not found页面或“TypeError:router.route 未定义”

这就是问题这个问题的解决方案:只要您有下载链接(Amazon S3、Dropbox、CollectionFS 等)target="_blank",请在您的链接中使用。这解决了我的问题=)

于 2015-08-06T19:25:37.520 回答