您能否給我推薦一些通過牽線木偶模板系統顯示列表視圖的示例。基本上,我有一個木偶模板,並基於模板創建一個表格列表。backbone.js使用牽線木偶模板的集合視圖示例
回答
要創建骨幹木偶錶行的列表,你需要定義的五件事:
- 用於每一行
- 集合模型來保存所有的行模式
- 一個
CollectionView
遍歷集合 - 提供行特定功能的
ItemView
ItemView
的模板提供了標記fo R各自排
樣本用法
假設你有以下數據:
var stooges = [{ name: 'moe', age: 44, userid: 1},
{ name: 'larry', age: 44, userid: 2},
{ name: 'curly', age: 44, userid: 3}];
定義模型和收集
對於下面的數據你會希望有一個型號:
var StoogeModel = Backbone.Model.extend({});
你在哪裏可以爲您的數據和其他屬性設置一些合理的默認值,如idAttribute
。有很多關於如何定製你的模型的參考。您的收藏至少應採用stoogeModel
。
var StoogeCollection = Backbone.Collection.extend({
model: StoogeModel
});
設置你的觀點
要遍歷和渲染您的收藏到表中,所有你需要的是一個CollectionView
和ItemView
。
var StoogesCollectionView = Backbone.Marionette.CollectionView.extend({
tagName: "table",
childView: StoogeItemView
});
所有CollectionViews
需要以最小的一個childView
這是一個ItemView
(我們將在下面定義),他們將利用導出功能來創建每一行的HTML和collection
這是集合拿着模型填充每一行。當我們安裝stoogesCollectionView
時,我們會通過此集合。 tagName
屬性通知Backbone將子節點封裝在table
標記中。
var StoogeItemView = Backbone.Marionette.ItemView.extend({
tagName: "tr",
template: '#stooge-template'
});
<script type="text/template" id="stooge-template">
<td id="name"><%= name %></td>
<td id="age"><%= age%></td>
<td id="userid"><%= userid%></td>
</script>
所有ItemViews
需要我們我們的HTML文檔中定義的模板,在這裏它的#stooge-template
。如果ItemView
是集合的子集,則不必定義其模型,它將由父級CollectionView
提供。由每個子節點StoogeItemView
呈現的HTML將被tr
標記封裝,因爲我們想要的是集合視圖中每個子節點的一行。
從ItemView
您可以處理「行」級別的事件,例如行列上的click
或focus
。您也可以處理傳入的模型的更改。此外,從ItemView
您可以決定傳遞助手,可以操縱數據顯示在其模板中的方式。
全部放在一起
現在我們已經定義了我們的模型,收集,集合視圖,子項視圖和項目視圖模板。接下來,我們將連接所有這些作品。
填寫您的收藏
您通過走狗的陣列到您的收藏的構造英寸
var myStooges = new StoogeCollection(stooges);
這些被塑造成模型,他們加載您的收藏。
啓你的CollectionView
你通過加載收集到您的收藏視圖。
var myStoogesView = new StoogesCollectionView({ collection: myStooges });
渲染視圖
所有木偶的觀點來包裝用render
方法。在我們的例子中,調用
myStoogesView.render();
將創建一個<table>
有三個<tr>
元件分別與每個在我們的數據集中的name
,age
和userid
字段列。要將生成的HTML插入到DOM中,我們只需使用視圖的el
屬性。對於simplicty,我們可以注入視圖直入體內
document.body.appendChild(myStoogesView.el);
或使用jQuery:
$(document.body).append(myStoogesView.el);
除了這個例子
有多功能,我們甚至沒有開始討論。閱讀docs!並查看許多教程。希望這個簡短的介紹有幫助!
嗨,謝謝。我有個問題。我有這樣的Json {'status'=>'成功',數據:[{'set1':'set2','set3':'set4'}]}。如何在集合模板中設置「狀態」值?因爲集合模板只包含'data'數組。我應該使用兩種不同的觀點嗎? – user1764882
我不介意回答最後一個問題,但StackOverflow更喜歡爲與原始帖子不直接相關的問題打開一個新帖子。 – seebiscuit
爲什麼文檔從未如此簡單?謝謝! –
- 1. 將集合拆分爲多個視圖(主幹/牽線木偶)
- 2. 骨幹牽線木偶複合視圖沒有觸發事件
- 3. 用戶搜索動態過濾牽引木偶集合模型
- 4. 我們如何使用骨幹牽線木偶複合視圖進行分頁?
- 5. 哪裏使用骨幹牽線木偶的事件聚合器?
- 6. 骨幹牽線木偶邏輯和視圖重用
- 7. 遍歷和訪問骨幹牽線木偶中的視圖
- 8. 木偶合成視圖呈現集合
- 9. 骨幹牽線木偶requirejs childviewcontainer,視圖是undefined
- 10. 試圖使用jqplot與jquery mobile,牽線木偶和requirejs
- 11. 骨幹牽線木偶事件調度
- 12. 以requirejs開始牽引木偶模塊
- 13. firefox牽線木偶旁路安全例外
- 14. 綁定子模型以查看主幹/牽線木偶
- 15. Backbone牽線木偶應用CompositeView顯示<%= text %>而不是模型值
- 16. 骨幹木偶複合視圖渲染模板
- 17. 木偶集合視圖,提取集合不會觸發事件
- 18. 模板中的關係模型和變量引用使用骨幹和牽線木偶
- 19. Backbone.js模板示例
- 20. Backbone.js模板示例
- 21. 對於IOS應用程序的牽線木偶效果
- 22. 如何在BackboneJS *牽線木偶* collectionView中打印行線?
- 23. 通用主幹/牽線木偶程序結構
- 24. Backbone.js包含集合的模型視圖?
- 25. 主幹控制的牽線木偶控制
- 26. 模板切換視圖的集合。 Backbone.js的
- 27. 用茉莉花測試木偶視圖和把手模板
- 28. Backbone.js的集合視圖
- 29. querystring與骨幹牽線木偶路由器
- 30. 骨幹牽引木偶相關的模型
您的意思是Backbone模板系統?木偶沒有實現任何特定的模板處理程序。 Backbone默認使用Underscore的_.template()打包。 – seebiscuit
Stackoverflow可以幫助您解決實現問題,而不是設計問題。我認爲你的問題將在http://programmers.stackexchange.com更好地服務 – seebiscuit