ember.js - 升级到 Ember 3.20.2 后获取模型未定义错误
问题描述
我们已经升级了一些项目以使用 Ember 3.20.2,我们正在解决问题,而且大部分情况都很好,但是我在一个项目中遇到了一个非常奇怪的问题。
我们从服务器检索记录作为模型,然后这些模型通过组件向下传递几个级别,并且有关模型的所有信息都可以显示在这些组件中,除非我们尝试在模板上渲染一个特定字段。模板的问题部分如下所示:
<div title={{task.details.title}}>
{{task.details.title}}
</div>
该模型具有以下内容:
details: DS.attr(),
控制台中出现的错误如下所示:
Uncaught TypeError: task is undefined
Ember 2
taskHelper
fnWrapper
deprecateMutationsInAutotrackingTransaction validator.js:149
fnWrapper Ember
computeTag reference.js:250
runInAutotrackingTransaction validator.js:121
track validator.js:774
compute reference.js:249
HelperRootReference reference.js:223
Ember 2
EmberHelperRootReference
_lookupHelper
...
细节现在是一个限制词吗?其他问题?
编辑:
实际上,我认为我已经缩小了错误的范围。它似乎不喜欢标题为 {{task.details.title}}。如果我删除标题属性,一切似乎都正常。deprecateMutationsInAutotrackingTransaction 的文档是:
/**
* Switches to deprecating within an autotracking transaction, if one exists.
* If `runInAutotrackingTransaction` is called within the callback of this
* method, it switches back to throwing an error, allowing zebra-striping of
* the types of errors that are thrown.
*
* Does not start an autotracking transaction.
*
* NOTE: For Ember usage only, in general you should assert that these
* invariants are true.
*/
这可能表明为什么某些标题属性会失败,但我无法从该文档中得到太多信息。
解决方案
推荐阅读
- java - 如何使用 selenium java 在 IE 上获取控制台登录开发工具(F12)?
- python - 如何在 Pyomo 中模拟流量平衡方程?
- c# - 即使列表视图中有数据,如何修复未呈现(正确)ObservableCollections 的问题?
- android - 如何在锁定屏幕,主屏幕和使用任何其他应用程序时在android中创建弹出通知,如whatsapp?
- c++ - C++ 中 Auto 关键字的问题
- excel - 从一个工作簿复制循环数据并粘贴到另一个工作簿
- c# - 无法使用使用实体 Builder 创建的新 ConnectionStrings
- flutter - 如何更改类型 Future
为共享首选项键入 bool - spring - Docker swarm 的 Netflix Eureka 服务器和客户端实例注册问题
- php - php 邮件程序只能通过 Outlook(hotmail) 进入垃圾邮件箱