当我alert()
在render
函数内使用时UserListView
,输出正确显示。如果我发表评论alert()
,则不会显示该视图。
我坚持这一点。这是为什么?
这是代码:
var User = Backbone.Model.extend({
defaults: {}
});
var UserCollection = Backbone.Collection.extend({
model: User,
url: 'http://localhost/cirest/index.php/api/userapi/users'
});
var UserView = Backbone.View.extend({
tagName: 'thumbnail',
className: 'span12',
template: $('#userdetailtemplate').html(),
render: function () {
var tmpl = _.template(this.template);
this.$el.html(tmpl(this.model.toJSON()));
return this;
}
});
var UserListView = Backbone.View.extend({
el: ('#content1'),
initialize: function () {
this.collection = new UserCollection();
this.collection.fetch();
this.render();
},
render: function () {
var that = this;
alert('asdf');
_.each(this.collection.models, function (item) {
that.renderUser(item);
}, this);
},
renderUser: function (item) {
var userview = new UserView({
model: item
});
this.$el.append(userview.render().el);
}
});
$(function () {
var uview = new UserListView();
});
网页:
<div id="content1" class="span12"></div>
<script type="text/template" id="userdetailtemplate">
<%= user_name %> <%= user_email %>
</script>