【问题标题】:Coffeescript printing HTML on page, not rendering itCoffeescript 在页面上打印 HTML,而不是渲染它
【发布时间】:2014-04-20 21:24:32
【问题描述】:

所以,我正在处理一个小型 Meteor 项目,我编写了一个模板帮助程序,它查看当前文档的属性(遍历它们以显示),并在某一时刻做出基于逻辑决策在此属性上,并且应该相应地输出 HTML。

逻辑工作正常,但是当我使用这个 Coffeescript 时:

Template.formQuestion.helpers

    formArrows: ->

        maxOrder = Questions.findOne({},{sort: {"order", 1}}).order
        questionOrder = Questions.findOne(this._id, {fields: {'order': 1}}).order

        console.log "max order: #{maxOrder}, current order: #{questionOrder}"

        # Check to see what arrows to render
        if questionOrder == 1
            "<i class='fa fa-chevron-circle-down'></i>"
        else if questionOrder < maxOrder
            "<i class='fa fa-chevron-circle-up'></i> | <i class='fa fa-chevron-circle-down'></i>"
        else
            "<i class='fa fa-chevron-circle-up'></i>"

我得到以下输出:

为什么它在页面上打印 HTML 而不是渲染它?我应该使用 JQuery 或其他东西来操作 DOM 吗?我对 JS 有点陌生,所以我决定边走边学 Coffeescript,因为我听说过关于它的好消息。

【问题讨论】:

    标签: javascript jquery html coffeescript meteor


    【解决方案1】:

    问题似乎是由于 Handlebars 在输出我的 HTML 时转义了它。

    我需要在我的 Handlebars 模板中使用 {{{ formArrows }}} 而不仅仅是 {{ formArrows }}

    这是我在询问之前没有阅读 Handlebars 文档的结果。

    【讨论】:

    • 我一定会尽快接受的。必须等待冷却时间才能这样做,但我打算这样做。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    相关资源
    最近更新 更多