我们在我的团队的项目之一使用Backbone.js的,这是我第一次使用它。骨干:渲染语法
我见过很多次这样的代码(它的CoffeeScript的,但很清楚我的想法。@
意味着this.
)
clients_view = new Homespa.Views.Orders.Clients.SectionView(collection: @options.clients)
@$("#clients-section").html(clients_view.render().el)
clients_search_view = new Homespa.Views.Orders.Clients.SearchView
@$("#clients_search_modal").html(clients_search_view.render().el)
是不是有更好的办法来做到这一点?我期望在我的观点上调用render
,然后一切都很好,我不应该得到html并手动添加/替换它。
感谢您的时间!
追加本身DOM将需要外部世界的知识,将打破其encpsulation视图。你可以给一个'.renderTo'方法,然后'client_search_view.renderto(“#clients_search_modal”)',但视图本身不应该知道'“#clients_search_modal' – Esailija 2012-07-06 08:51:56
哦,所以这是它的工作原理与骨干?我想有用'tagName'和其他属性打这样做的方式,但我想我错了 – ksol 2012-07-06 08:58:22
这不是骨干具体,你不能只是创建元素,并期望他们出现,他们需要被附加到元素的页面已经存在于页面上,我的意思是一个视图只应该知道它拥有的元素,所以代码已经是正确的IMO。 – Esailija 2012-07-06 09:01:34