2017-08-11 75 views
0

我有我遍歷的循環使用JSViews合併ID用繩子來獲得唯一的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}">... 

但是,沒有這些工作。

如果我省略了字符串,只需使用:

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

它設置標識就好了。任何人都可以看到我做錯了什麼?

回答

1

這些鏈接的通話數據鏈接到屬性:

的標準語法是

data-link="attributeName{:dataPathOrExpression}" 

在你的情況下,attributeName是id

dataPathOrExpression可以是任意的表達,所以在這裏你需要它是與(由之前)將字符串'post-'級聯的Id值,所以你需要寫:

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

,或等效

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

您不想在{:之間插入任何東西。標籤是{:http://www.jsviews.com/#assigntag) - 您可以在這些字符之間唯一放置的是轉換器名稱,例如myCvt,如id{myCvt:...}


也就是說,如果你的Id值不被觀察地改變,那麼你並不需要數據鏈路的id,你可以代替寫:

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

就像你,如果你將模板作爲JsRender模板呈現,而沒有數據綁定。

+0

謝謝。我沒有意識到冒號是標籤的一部分。 – grayson