2013-02-14 22 views
0

我使用Kendo UI上的論壇帖子將我的kendo列表視圖連接到php數據源。JavaScript中的HTML標記中的哈希/磅#符號

  1. 它的工作原理,但你可以請解釋他們使用#符號的最後一行。
  2. 那麼:data.Name?我明白我是從PHP文件輸出JSON字符串,如{「data」:[{「Name」:「Cindy」}])。但是從Javascript的上下文來看,Kendo實際上是用JSON字符串中的'data'來做什麼的?它是屬性「名稱」的對象(在某些數據結構中?)?爲什麼會有分號?

我沒有JavaScript的良好背景,發現很難用#/ hash作爲關鍵字進行搜索。

$("#listView").kendoListView({ 
    dataSource: { 
     transport: { 
      read: "list_users.php", 
     }, 
     schema: { 
      data: "data" 
     } 
    }, 
    template:"<li>#:data.Name#</li>" 

}); 
+0

關於2:哪裏是分號(錯誤地)JSON格式的字符串?如果結束字符不是圓括號而是讚美詞,那麼'data'將是一個包含一個元素的數組,一個名爲'Name'的對象。 – 2013-02-14 16:47:32

回答

3

對於Javascript,它根本沒有任何特殊含義。這只是一個字符串。

在Kendo模板中使用時,標記#: #被替換爲HTML編碼值。 (標籤#= #被替換爲不具有HTML編碼的值)

使用直接在代碼模板,它應該是這樣的:

var template = kendo.template("<li>#:data.Name#</li>"); 

var html = template({ data: { Name: 'Me!<o>' } }); 

變量html現在將包含字符串<li>Me!&lt;o&gt;</li>。請注意名稱中的<>是如何編碼的。