javascript - Backbone.js 的初始化顺序

标签 javascript html backbone.js

关于以下代码:

var leaderList = new app.LeaderCollection();
var leaderListView = new app.LeaderListView({collection:leaderList});

$(document).ready(function() {
    leaderList.fetch();
});

为什么当它有效时却不起作用:

$(document).ready(function() {
    var leaderList = new app.LeaderCollection();
    var leaderListView = new app.LeaderListView({collection:leaderList});
    leaderList.fetch();
});

我知道显示的代码并不深入,我想知道是否有人清楚地知道为什么这两段代码的行为会有所不同。

最佳答案

问题可能是由于 el 元素在 View 内的行为方式造成的。

当您在 Document.ready 函数之前运行时,el 元素可能不在 DOM

在第二种情况下,您首先等待 DOM 加载,然后初始化 View 。检查网络选项卡。响应应该已被服务器转储,但 View 无法找到 el 来呈现集合的模型。

关于javascript - Backbone.js 的初始化顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18026508/

相关文章:

javascript - 使用 IE11 时,ASP.NET WebForms 中的登录 ReturnUrl 导致 JavaScript 严重错误

javascript - Angular Material 显示内容被裁剪

javascript - angularjs ng-table/ng-repeat 行未加载

html - 风格段落与主导类别

javascript - 将非输入元素与 Backbone.Syphon 一起使用

javascript - 将自定义监听器绑定(bind)到 Backbone View

javascript - 如何正确扩展两个Backbone View

javascript - 如果字符串长度超过 12,如何放置...

javascript - 使用 javascript 加载图像。我的语法哪里错了?

html - 弹出div在IE11中隐藏在iframe下