3

所以我得到了这个新项目,它在每个视图中都有这条线。

Backbone.Layout.extend({ /*...*/ })

但是当我查看 Backbone 和其他教程的文档时,它有

Backbone.View.extend({ /*...*/ })

此外,所有视图都有initialize, serialize,afterRender功能。我尝试搜索它,但没有发现任何有用的东西。

4

1 回答 1

2

您的项目正在使用backbone.layoutmanager

为在 Backbone 中组装布局和视图提供逻辑基础。设计为自适应和可配置的无痛集成。在浏览器和 Node.js 环境中经过良好测试,具有完整的代码覆盖率。

查看这个库的源代码,我们可以看到它只是一个专门的Backbone.View.

var LayoutManager = Backbone.View.extend({ // line 53
// ...
});
// ...
// Expose through Backbone object.
Backbone.Layout = LayoutManager; // line 955

它添加了这些方法和属性

  • afterRender
  • cleanup
  • getView
  • getViews
  • insertView
  • insertViews
  • removeView
  • renderViews
  • setView
  • setViews
  • then
  • useRAF
  • serialize(未在 wiki 中记录)

initialize函数是 Backbone 视图中的默认值,它是空的,它意味着被自定义初始化代码覆盖。

为了更好地了解项目中发生的事情,请查看它加载的依赖项(HTML 中.js包含标签的文件)。<script>

于 2017-04-11T13:25:11.470 回答