Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查看BackboneJS中的分区_Javascript_View_Backbone.js_Underscore.js - Fatal编程技术网

Javascript 查看BackboneJS中的分区

Javascript 查看BackboneJS中的分区,javascript,view,backbone.js,underscore.js,Javascript,View,Backbone.js,Underscore.js,有没有办法在主干中使用视图部分?我正在使用内置的下划线模板,关于这方面的文档并不多 如果没有,是否有任何标准/惯例或建议的方法来做到这一点?是的,我最近尝试过。确保阅读主干文档,尤其是 例如,您有一个_new.jst.haml: %form#story_form.new_story{method: "post"} 然后,您可以拥有一个包含表单元素的_form.jst.haml。在Backbone.View中,您可以首先将新模板附加到el中,然后使用Backbone的视图范围选择器(这在其官方文

有没有办法在主干中使用视图部分?我正在使用内置的下划线模板,关于这方面的文档并不多


如果没有,是否有任何标准/惯例或建议的方法来做到这一点?

是的,我最近尝试过。确保阅读主干文档,尤其是

例如,您有一个_new.jst.haml:

%form#story_form.new_story{method: "post"}
然后,您可以拥有一个包含表单元素的_form.jst.haml。在Backbone.View中,您可以首先将新模板附加到el中,然后使用Backbone的视图范围选择器(这在其官方文档中,在“$(jQuery或Zepto)”部分下):

我当时使用的是Rails,所以我最初读到了如何在Rails中使用Backbone.js。在那篇文章的结尾有一个到第二部分的链接。我建议您跳过第一篇文章中他使用字符串连接来更新视图的部分。另外,我现在的做法与他做的方式有很大不同,但我认为这是一个很好的起点,而且我没有自己的文章来展示


我的代码示例有点短,但我想我不想在这里编写完整的教程。请告诉我什么不起作用,以及您认为缺少的步骤,我将更新答案。

是的,您可以在模板中使用分部,而不必在视图类中设置分部,您可以直接从模板中进行设置。下面是一个简单的例子:

users.jst:

<ul>
  <% _.each(users, function(user){ %>
    <li>
      <%= JST['user']({user: user}) %>
    </li>
  <% }); %>
</ul>
user.jst:

<%= user.get('name') %>

有许多“普通”主干网方法可以做到这一点,但我强烈建议您研究一下木偶技术、Backbone.CollectionView或Backbone.LayoutManager。例如,在呈现集合时有很多需要跟踪的内容(在移除子对象时取消绑定事件、选择器作用域、保持排序顺序),并且无需重新发明轮子


非常感谢您为保持模板整洁提供的巨大帮助这是一个巨大的帮助,谢谢您。请注意,您可以使用:
传递范围中的所有数据
obj
是下划线使用的
范围中使用的神奇变量。如果你只是传递它,你会在部分中得到相同的变量。使用循环是我创建“幻觉”部分所需要的全部。再次感谢!
<%= user.get('name') %>