【问题标题】:Backbone js, showing undefined in console骨干js,在控制台中显示未定义
【发布时间】:2013-02-13 13:06:27
【问题描述】:

我正在编写一个主干应用程序,其中用户模型必须与登录用户的数据一起获取。在我的模板中,我需要显示用户信息(用户名、姓名等)。编译模板错误消息后,控制台中记录了“未捕获的 ReferenceError:未定义用户名”。 Ajax 请求也成功完成。可能是什么问题?

我正在链接我的 js 文件。

Link to js files

【问题讨论】:

  • 我在你的 userView.js 中没有看到 collection.fetch
  • 你能把 JS 文件贴到 JSFiddle/JSBin 上吗?
  • 我不为此使用集合,是否有必要为每个视图使用集合?
  • gist.github.com/techhahn/4946747 创建了一个要点

标签: backbone.js


【解决方案1】:

即使您的 AJAX 请求成功,但很可能在您执行下划线模板时还没有成功。在fetch 之后立即调用render,这是一个异步操作。当这行代码执行时,model.toJSON() 调用很可能返回一个空对象。

您应该像这样将 fetch 调用移动到视图的 initialize 函数:

initialize: function() {
    _.bindAll(this);
    this.model.fetch({success:this.render});
}

这将推迟渲染,直到模型成功获取。

【讨论】:

    猜你喜欢
    • 2012-07-17
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2016-07-22
    相关资源
    最近更新 更多