gpt4 book ai didi

javascript - RactiveJS 模板条件 HTML

转载 作者:行者123 更新时间:2023-11-30 12:35:05 25 4
gpt4 key购买 nike

我试图让 HTML 有条件地出现在 ractive 模板中,但没有成功。

正如您在此 JSFiddle 中看到的那样结果与预期不同 - 表是单行。

我的模板:

<table border="1">
<tr>
{{#list:num}}
<td>{{.}}</td>
{{#if num > 0 && num % 2 == 0}}
</tr><tr>
{{/if}}
{{/list}}
</tr>
</table>

我的 Javascript:

var ractive = new Ractive({
el: "#cont",
template: "#template",
data: {
list: [1, 2, 3, 4, 5, 6]
}
});

最佳答案

与生成 HTML 字符串的传统模板系统不同,Ractive 模板的每个部分本身都必须有效,否则无法构建虚拟 DOM。这意味着您不能拥有 </tr><tr>在一个部分内。 (真的,解析器应该抛出一个错误 - 我有 raised an issue on GitHub 。)

另一种方法是对项目进行分组,然后遍历这些组:

var ractive = new Ractive({
el: "#cont",
template: "#template",
data: {
list: [1, 2, 3, 4, 5, 6]
},
computed: {
grouped: function () {
var list = this.get( 'list' ),
grouped = [],
group;

group = [];
grouped.push( group );

list.forEach( function ( item, i ) {
if ( i > 0 && i % 2 == 0 ) {
group = [];
grouped.push( group );
}

group.push( item );
});

return grouped;
}
}
});
<script src="http://cdn.ractivejs.org/0.6.0/ractive.js"></script>

<script type="text/html" id="template" >
<table border="1">
{{#each grouped}}
<tr>
{{#each this}}
<td>{{.}}</td>
{{/each}}
</tr>
{{/each}}
</table>
</script>

<div id="cont"></div>

关于javascript - RactiveJS 模板条件 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26313495/

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