【问题标题】:How can I add html with helpers and expressions as an attribute to my partial?如何将带有帮助器和表达式的 html 作为属性添加到我的部分?
【发布时间】:2018-02-11 00:36:45
【问题描述】:

我有一个部分,我需要根据上下文换出一个链接,我还需要在该链接中的表达式上使用帮助器。我尝试将此添加到我的部分并将其包含在部分模板中,但它是将行添加为字符串,而不是 html。

{{> partial link='<a href="/matchup/{{formatForWeb this.name }}/{{formatForWeb 
matchup.name }}" class="matchup-card__link">code</a>'}}

然后我将它作为 {{link}} 添加到我的部分模板中:

<div>
     {{link}}
</div>

这是在开发工具中作为字符串添加到我的页面:

我怎样才能做到这一点?感谢您的宝贵时间!

【问题讨论】:

    标签: templates handlebars.js


    【解决方案1】:

    您将无法在partial 中使用helper

    解决方案是将不同变量中的数据和 HTML 元素传递给部分,并在部分定义中进行操作。

    例子

    {{> newPartial 
      link = '<a href="/matchup/temp1/temp2" class="matchup-card__link">code</a>'
      var1 = this.name 
      var2 = matchup.name
    }}
    

    请注意,根据语法,数据(var1 和 var2)不应包含在大括号{{}} 或引号"" 内。

    现在部分可以注册如下

    Handlebars.registerPartial('newPartial', function(val) {
      console.log(val);
      return val;
    });
    

    在这里,在变量 val 中,您将收到所有 3 个变量 linkvar1var2 作为数组对象,您可以使用它们来处理操作和 return 最终结果。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 2016-06-10
      相关资源
      最近更新 更多