gpt4 book ai didi

javascript - 下划线模板无法按预期工作

转载 作者:行者123 更新时间:2023-11-29 15:41:50 24 4
gpt4 key购买 nike

因为我在 ruby​​ 中使用下划线模板,所以我想更改默认值 <% %> ruby 和 underscore 模板都使用的标签,所以我将下划线设置为使用其他标签,如下所示:

<script>

_.templateSettings = {
interpolate: /\[\=(.+?)\]/g,
evaluate: /\[(.+?)\]/g
};

</script>

所以我的模板并没有那么复杂:

<script type="text/html" id='table_list_rows_template'>
[
_.each(items,function(obj,key){

var median = obj.md.toFixed(4)
]
<tr>
<td>[= key + 1]</td>
<td>[= obj.name]</td>
<td>[= median]</td>
</tr>

[ }); ]

所以当我尝试从这样的模板呈现 html 时(tuples 是对象列表,我的表有 id table_list):

<script>

$(document).ready(function(){
var template = $("#table_list_rows_template").html();
$("#table_list tbody").html(_.template(template,{items:tuples}));
});

</script>
</script>

所以我得到以下错误:

Uncaught SyntaxError: Unexpected token )

它应该在这一行:

$("#table_list tbody").html(_.template(template,{items:tuples}));

但我无法发现错误。我的代码有什么问题?

更新:

我尝试将 [] 更改为 <? ?>喜欢 php 风格,因为第一个让人想起 javascript 数组,所以我认为这可能会导致问题。见下文:

_.templateSettings = {
interpolate: /<\?\=(.+?)\?>/g,
evaluate: /<\?(.+?)\?>/g
};

<script type="text/html" id='table_list_rows_template'>

<?
_.each(items,function(obj,key, list){
?>

<tr id='response_[= obj.id]'>
<td></td>
<td><?= obj.name ?></td>
</tr>

<? }); ?>

</script>

同样的错误没有区别。

最佳答案

将您的模板设置从“.”更改为到“[\s\S]”:

_.templateSettings = {
interpolate: /\[\=([\s\S]+?)\]/g,
evaluate: /\[([\s\S]+?)\]/g
};

http://jsfiddle.net/zBTMw/4/与\s\S
http://jsfiddle.net/zBTMw/5/与。 (有错误)

最新版本的 underscore.js 使用 [\s\S] 结构,这就是我的想法。

关于javascript - 下划线模板无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17993902/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com