Ember.js渲染后修改断言失败
Ember.js Assetion failed due to modification after rendering
我正在开发一个非常简单的 ember 组件结构,但我一直遇到同样的错误:
Assertion Failed: You modified "pipeline.status" twice on <frontend@model:pipeline-instance::ember497:59636F5284D6CE0009000002> in a single render. It was rendered in "component:pipeline-manager" and modified in "component:pipeline-manager". This was unreliable and slow in Ember 1.x and is no longer supported. See https://github.com/emberjs/ember.js/issues/13948 for more details.
我已将所有功能剥离到这个非常简单的代码中,但我仍然遇到断言错误。
流水线-instance.js模型:
export default DS.Model.extend({
status: DS.belongsTo('status')
});
管道-manager.js为空。
管道-manager.hbs模板:
<div class="pipelines--show">
<div class="row status">
Current status: {{await pipeline.status.title}}
</div>
</div>
package.json:
"devDependencies": {
...
"ember-cli": "2.11.1",
"ember-cli-app-version": "^2.0.0",
...
}
似乎我设法摆脱错误的唯一方法是使用 ember s --prod
ember-data@2.14.0
中的 known issue 导致了此问题。每当您在模板中引用相关模型的 属性 时(例如上面的示例:pipeline.status.title
),您都会看到有关失败断言的消息。 运行 npm list ember-data
确认你是 运行 2.14.x
目前,我建议恢复到 ember-data@2.13.2
- 只需在 package.json 中指定 2.13.2,如下所示:"ember-data": "2.13.2"
。当发布修复此问题的 ember-cli
/ember-data
的新版本时,您可以通过 ember init
.
作为正常升级过程的一部分更新 package.json
已经有一个 Pull Request 解决这个问题,希望它能尽快合并,以便我们升级。
我正在开发一个非常简单的 ember 组件结构,但我一直遇到同样的错误:
Assertion Failed: You modified "pipeline.status" twice on <frontend@model:pipeline-instance::ember497:59636F5284D6CE0009000002> in a single render. It was rendered in "component:pipeline-manager" and modified in "component:pipeline-manager". This was unreliable and slow in Ember 1.x and is no longer supported. See https://github.com/emberjs/ember.js/issues/13948 for more details.
我已将所有功能剥离到这个非常简单的代码中,但我仍然遇到断言错误。
流水线-instance.js模型:
export default DS.Model.extend({
status: DS.belongsTo('status')
});
管道-manager.js为空。
管道-manager.hbs模板:
<div class="pipelines--show">
<div class="row status">
Current status: {{await pipeline.status.title}}
</div>
</div>
package.json:
"devDependencies": {
...
"ember-cli": "2.11.1",
"ember-cli-app-version": "^2.0.0",
...
}
似乎我设法摆脱错误的唯一方法是使用 ember s --prod
ember-data@2.14.0
中的 known issue 导致了此问题。每当您在模板中引用相关模型的 属性 时(例如上面的示例:pipeline.status.title
),您都会看到有关失败断言的消息。 运行 npm list ember-data
确认你是 运行 2.14.x
目前,我建议恢复到 ember-data@2.13.2
- 只需在 package.json 中指定 2.13.2,如下所示:"ember-data": "2.13.2"
。当发布修复此问题的 ember-cli
/ember-data
的新版本时,您可以通过 ember init
.
package.json
已经有一个 Pull Request 解决这个问题,希望它能尽快合并,以便我们升级。