【发布时间】:2014-09-07 08:48:04
【问题描述】:
我是 Backbone 的新手,我正试图通过它跌跌撞撞。目前,我有一个将 json 哈希呈现到下拉菜单中的视图。当我在浏览器中检查元素时,我可以实际查看 UL 元素,并将所有 JSON 呈现到列表中,但浏览器中没有任何视觉显示。应该注意的是,我使用 twitter bootstrap 来构建下拉菜单。非常感谢任何帮助。
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() -
不,我试过了,但似乎没有什么不同
标签: javascript ruby-on-rails backbone.js haml