1

我正在使用 express 和 ractive 来渲染 mustache 模板并遇到问题。我的实际代码如下所示:

<li class="header-link"><a href="fakehome.com">HOME</a></li>
<li class="header-link">
  <!--[if !IE]><a href="{{url('browse')}}">BROWSE</a><![endif]-->
  <!--[if IE]><a href="{{url('ie_browse')}}">BROWSE</a><![endif]-->
</li>

但是当页面呈现时,它不包括条件 [if IE] 块。我认为它可能将它们解释为评论。无论如何,我需要一种方法来修改我用于与 IE 兼容的链接。如果有其他方法可以做到这一点,我会很乐意接受它,但我有点惊讶这根本没有渲染。

4

1 回答 1

3

你可以用三重胡须来伪造它:

<li class="header-link">
  {{{ifnotie}}}<a href="{{url('browse')}}">BROWSE</a>{{{ifend}}}
  {{{ifie}}}<a href="{{url('ie_browse')}}">BROWSE</a>{{{ifend}}}
</li>

和数据中的常量:

data: {
    ifie: '<!--[if IE]>',
    ifnotie: '<!--[if !IE]>', 
    ifend: '<![endif]-->',
    url: function(input) { return input }
}

和:

console.log(ractive.toHTML())
//yields:
<li class="header-link"><!--[if !IE]><a href="browse">BROWSE</a><![endif]--> <!--[if IE]><a href="ie_browse">BROWSE</a><![endif]--></li>
于 2014-10-21T20:35:04.580 回答