我是Backbone的新手,並試圖絆倒我的方向。目前我有一個視圖,可以將json散列渲染到下拉菜單中。當我檢查瀏覽器中的元素時,我可以實際查看UL元素,並將所有JSON渲染爲一個列表,但瀏覽器中沒有任何內容可見。應該注意的是,我使用twitter引導來構建下拉菜單。任何幫助深表感謝。在Backbone中渲染下拉菜單
App.Views.FilterView = Backbone.View.extend({
initialize: function(){
_.bindAll(this, 'render');
this.$button = this.$('.dropdown');
this.listenTo(this.collection, 'sync', this.render);
},
render: function(){
html = _.template(this.template());
this.$el.html(html);
},
template: function() {
var criteria = initial_data.criteria_hash.servers.criteria;
var list = "";
for(var i = 0; i < criteria.length; i++){
list += "<li role=\"presentation\">" + criteria[i] + "</li>";
}
return "<ul class='criteria-list dropdown-menu' role=\"menu\">" + list + "</ul>";
}
});
這裏是HAML:
%h2.beta Reports
.criteria-container
.dropdown
%button.btn.btn-default.dropdown-toggle{"data-toggle" => "dropdown"}
Search Criteria
%span.caret
你正在初始化你的下拉列表嗎?例如在你的渲染函數'this。的末尾。$ el.find('。dropdown-toggle')。dropdown()' – Jack
不,我試過了,但它似乎沒有區別 –
你可以創建一個[ jsbin](http://jsbin.com/)或[jsfiddle](http://jsfiddle.net/)? – Jack