select
從模板呈現,並且在DOM中不存在,直到調用renderGroups()
。Backbone.js事件綁定未觸發
我認爲事件綁定到視圖所以它不一定會在第一個選擇不存在於DOM中嗎?
我是新來backbone.js
所以它可能是很明顯的:
var DirectoryView = Backbone.View.extend({
el: $("table tbody"),
initialize: function(){
// Populate our collection
this.collection = new Directory(contacts);
// Get our unique groups
var groups = this.getGroups();
this.renderGroups(groups);
},
renderGroups: function(groups) {
var group = $("#groups");
var groupView = new GroupView({
model: {groups: groups}
})
group.append(groupView.render().el)
},
events : {
"change select" : "select"
},
select: function(e) {
console.log("hello")
},
getGroups: function() {
// Pluck all the group properties from our array of contacts and return the unique groups
return _.uniq(this.collection.pluck("group"), false, function(group){
return group.toLowerCase();
});
}
});
模板:
<script id="group-option-tmpl" type="text/template">
<option value="all">All</option>
<% _.each(groups, function(group) { %>
<option value="<%= group %>"><%= group %></option>
<% }); %>
</script>
的jsfiddle
如果將'renderGroups'重命名爲'render',會發生什麼? – jsalonen
@jsalonen我可以檢查,但render()函數實際上呈現一些聯繫人。 DirectoryView是一個「主」視圖。 – JonWells