我有兩個視圖對象:骨幹視圖中不呈現正確的DOM元素
define(['jquery','underscore','backbone','collections/HipHopVideos','views/Video'],function($,_,Backbone){
GenreHipHop = Backbone.View.extend ({
el:"#hipHop",
collection: new HipHopVideosCollection,
initialize: function()
{
context = this;
//fetche data for collection
this.collection.fetch({success:function()
{
context.render();
}
});
},
render: function()
{
this.collection.each(function(video)
{
videoView = new VideoView({model:video});
this.$el.append(videoView.render().el);
},this);
}//end render function
});
define(['jquery','underscore','backbone','collections/PopVideos','views/Video'], function($,_,Backbone){
GenrePop = Backbone.View.extend({
el:"#pop",
collection: new PopVideosCollection(),
initialize: function()
{
context = this;
//fetche data for collection
this.collection.fetch({success:function()
{
context.render();
}
});
},//end initialize function
render: function()
{
this.collection.each(function(video)
{
videoView = new VideoView({model:video});
this.$el.append(videoView.render().el);
},this);
}//end render function
});
這些對象應該再有內容附加到這個HTML:
<div class="sect">
<a href="" class="genre_title">Pop</a>
<img class="previousBtn" src="images/nav-left.png"/>
<ul class="video_item" id="pop" page="1"></ul>
<img class="nextBtn" src="images/nav-right.png"/>
<button class="btn btn-small view-all" type="button">view all</button>
</div>
<div class="sect">
<a href="" class="genre_title">Hip Hop</a>
<img class="previousBtn" src="images/nav-left.png"/>
<ul class="video_item" id="hipHop" page="1">
<script> //loadHipHop()</script>
</ul>
<img class="nextBtn" src="images/nav-right.png"/>
<button class="btn btn-small view-all" type="button">view all</button>
</div>
我然後調用兩種觀點的情況下渲染to dom:
pop = new GenrePop();
hip = new GenreHipHop();
問題是視圖元素被追加到帶有id #hip模型的ul標籤和不像我在這個觀點中所概述的那樣。我不明白是什麼導致了這個問題,以及如何解決這個問題。
爲什麼你到處使用全局變量? – 2013-03-06 16:57:09
它看起來像genrehiphop會去#hiphop和genrepop將去#pop。究竟是什麼問題? – Evan 2013-03-06 16:57:18
#pop將去#hiphop – user2054833 2013-03-06 17:23:35