問題:我正在使用backbone.js我有一個玩家的player
視圖,該視圖的根元素是一個<li></li>
列表項節點。如何在集合中添加集合?
然後我有一個players
視圖,顯示集合中的所有玩家,這個視圖的根元素是一個<ul></ul>
。 (很簡單的東西!)
這樣做的結果是。
<ul> //The players collection root for the players collection view
<li>Kobe Bryant is on the lakers</li> // The player model root element for the player model view
<li>LeBron James is on the heat</li> // The player model root element for the player model view
</ul>
我的模特的屬性包括name, team
。
[
{name: 'Kobe Bryant', team: 'lakers'},
{name: 'LeBron James', team: 'heat'}
]
我該如何循環(或者做什麼最好)以便我的視圖結果如此。
<ul class="lakers">
<li>Kobe Bryant is on the lakers</li>
</ul>
<ul class="heat">
<li>LeBron James is on the heat</li>
</ul>
甚至更好不會我需要做一個團隊集合視圖。然後編寫一些代碼將每個玩家與他的團隊進行匹配?所以結果是這樣的。
<div class="lakers">// Teams collection root element
<ul>// Players collection root element
<li>Kobe Bryant is on the lakers</li>// Player model root elemnt
</ul>
</div>
<div class="heat">// Teams collection root element
<ul>// Players collection root element
<li>LeBron James is on the heat</li>// Player model root elemnt
</ul>
</div>
我把這個企圖,但我想我實例每個觀點是錯誤的方式,或者我只是做了錯事,所以如果這是一個好主意,把球員集合的集合的球隊,我如何得到像上面這樣的結果,我可以在哪裏得到一個球隊的父母成員,然後是這支球隊的球員名單?
我的想法&代碼:我的players
視圖裏面想我可以寫一些東西,通過團隊組織每個模型,等等。
_.each(this.collection.where({team: "lakers"}), function(model) {
var playerView = new PlayerView({ model: model});
this.$el.append(playerView.render().el);
this.$el.addClass('lakers');
}, this);
那麼有這個明顯的問題,因爲,我們寫這一切只是爲了一個類添加到根,如果我們再次做到這一點,將不斷增加的根<ul class="lakers miami">
這並沒有幫助。
我的想法很少,我得到的圖片我知道我想分類每個球員,但我不能完全弄明白。我傾向於一個球員集合的球員集合,我只是困惑如何匹配this.team.get('name') == this.player.get('name')
//相關的東西。我不確定這是否真的有道理,生病承認我需要幫助大聲笑。感恩節快樂每個人,我懷疑今天任何人都在計算器上。
您好再次玉蕊這聽起來很好,這次好多了。設置團隊密鑰確實很有意義。我花了24小時真正學習骨幹一遍又一遍地看教程,我開始明白了。我認爲這可能是讓我完成的解決方案。 –
好吧,我讀過它,這聽起來非常好。時間來喝咖啡,並將其帶入生活! :)再次感謝尤瑞,這更好,更合理,可能是因爲我所做的一切都在研究中,但都是一起來的。我不知道你們是如何擅長編程的。 –
不客氣。 :)做是最好的學習方式(IMO)我沒有很長的編碼Backbone的歷史(大約1年)Backbone是一個很棒的圖書館(很好玩!)。我喜歡我用Backbone做的每個項目。儘管我現在不再使用它,但我不斷回來並從中學習。祝你好運! –