我正在查看这个 Backbone 应用程序:
https://github.com/ccoenraets/nodecellar/blob/master/public/js/main.js
并试图了解它是如何工作的。我在 main.js 文件中看到他这样调用 WineView:
wineList.fetch({success: function(){
$("#content").html(new WineListView({model: wineList, page: p}).el);
我对此有几个问题:
1) 为什么要调用 $("#content").... 从这一点开始?创建视图对象以让新对象“Render”方法处理 HTML 注入不是重点之一吗?事实上,他的 Wine View 对象确实有一个渲染方法(这里:/public/js/views/winelist.js)那么这个调用在这里有什么好处呢?
2) 为什么要在最后添加 EL 属性?我认为 EL 只是 View 被“附加”到的单个标签。如果它只是一个标签,那么它如何生成他正在寻找的所有新 HTML?
3) EL 标签是如何首先设置在新的视图对象中的?我想如果你没有明确声明它,那么 EL 默认为一个空的 DIV,我在他的代码中看不到任何地方为这个视图定义的 EL。
希望有人能解决这个问题!