"" // all good foo.get-6ren">
gpt4 book ai didi

ember.js - EmberJS : model 'isLoaded" but I can't access its properties

转载 作者:行者123 更新时间:2023-12-02 03:47:52 24 4
gpt4 key购买 nike

在我的代码中的某处,我遇到了一个错误。我设置了一个断点来尝试看看发生了什么。当我在控制台中检查对象“foo”时,我得到:

foo.toString() > "<App.Foo:ember661:174009>" // all good
foo.get('isLoaded') > true
foo.get('isValid') > true

然而:

foo.get('name') > null // Whereas it definitely has a name.

当我查看开发人员工具中的“网络”选项卡时,我可以看到它仍在“完成”加载记录。对于相应的 URL,它表示:“待处理”。

这个模型状态是什么?您如何知道模型何时“完全”准备就绪?

更新:根据我对 Mike 的评论,我应该补充说我正在 registerBoundHelper 函数中检查此记录。所以我想我缺少一个上下文问题。确实:

... foo template ...
{{ name }} // properly set to a value
{{ my_helper this }}

... helpers ...
Ember.Handlebars.registerBoundHelper('my_helper', function(foo) {
return foo.get('name'); // name property is null!!
});

我一定是遗漏了什么明显的东西?

谢谢,PJ

最佳答案

What is this model state?

根据您提供的信息无法判断,但要从控制台中找出答案,您可以试试这个:

foo.stateManager.get('currentPath') > should be something like "rootState.loaded.saved"

然后看看states.js source code有关该状态的详细信息。

How do you know when a model is "fully" ready?

取决于您所说的完全准备好是什么意思。帮助您了解什么是什么的一些技巧:

显示模型的原始数据

foo.get('data')
foo.get('data.attributes')

当记录在状态之间转换时获取控制台日志输出

record.set("stateManager.enableLogging", true)

关于ember.js - EmberJS : model 'isLoaded" but I can't access its properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com