JSViews 将 id 与字符串合并以获得唯一 id

JSViews Merge id with string to get unique id

我有一个正在迭代的数组

{{for}}

在循环中,我正在创建各种元素,其中之一我需要生成唯一的 ID 以包含数组中的变量之一 (Id)

例如:

<div id="post-123">...

我试过:

<div data-link="id{post-:Id}">...

div data-link="id{'post-':Id}">...

<div id="post-" data-link="id{merge:Id}">...

然而 none 这些工作。

如果我省略字符串并只使用:

<div data-link="id{:Id}">...

它可以很好地设置 Id。谁能看出我做错了什么?

这些 link 谈论数据-link属性:

标准语法是

data-link="attributeName{:dataPathOrExpression}"

在你的例子中,attributeName 是 id

dataPathOrExpression 可以是任何表达式,所以在这里你需要它是 Id 值与字符串 'post-' 连接(前面),所以你需要写:

<div data-link="id{:'post-' + Id}">...

或者,等价地

<div data-link='id{:"post-" + Id}'>...

您不想在 {: 之间放置任何内容。标签是 {: (http://www.jsviews.com/#assigntag) - 唯一可以放在这些字符之间的是转换器名称,例如 myCvt,如:id{myCvt:...}.


就是说,如果您的 Id 值没有明显变化,那么您不需要数据-link id,您可以改写:

<div id="post-{{:Id}}">...

就像将模板呈现为 JsRender 模板一样,没有数据绑定。