【问题标题】:How to get a Backbone Model attribute after fetch?获取后如何获取主干模型属性?
【发布时间】:2015-08-27 19:27:05
【问题描述】:

我知道 fetch 是异步的,它需要在 fetch 中使用“成功”。 但是如果我想使用成功的数据呢? 我想获取用户 ID 并在模型“Note”中使用它。

 authedUser.fetch({
            success: function(){;
                window.uid = authedUser.get("id");
            }

但如果我尝试这样做 console.log(uid);没有成功,我得到 undefined

【问题讨论】:

  • 你能显示更多的代码吗?不确定您需要什么,但“authedUser”在成功方法运行之前不会有任何数据。
  • 我正在从服务器获取数据(ID、姓名、电子邮件)并将其放入带有 fetch 的 authedUser 模型中。效果很好。但我想获取用户 ID 并不仅在“成功”中使用它。例如,在另一个模型中。
  • 您可能想要研究异步与同步提取。您可能在 fetch 操作仍在进行时尝试使用 window.uid。

标签: backbone.js web frameworks


【解决方案1】:

您应该能够从成功回调中访问更新的模型。 像这样:

authedUser.fetch({
        success: function(model){;
            window.uid = model.get("id");
        }

【讨论】:

    【解决方案2】:

    当您的新模型/集合被注册时,“更改”事件被触发。

    所以你可以使用

     MyModel.on("change", function() {
    
        MyModel.get('wtv');
    
    });
    

    【讨论】:

      猜你喜欢
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 2016-02-14
      • 1970-01-01
      相关资源
      最近更新 更多