javascript - Ember.js 嵌套模型

标签 javascript ember.js

我尝试重新发布与原始帖子相关的内容。我使用相同模型的对象。

Ember :2.2.0

Ember 数据:v2.3.0

models/post.js

export default DS.Model.extend({
  text: DS.attr('string'),
  originalPost: DS.belongsTo('post', {async: false})
});

如果我使用原始帖子上的链接创建转发

let post = this.store.createRecord('post', {
  text: 'post'
});

let repost = this.store.createRecord('post', {
  text: 'repost',
  originalPost: post
});

我有交叉引用,即:按预期在重新发布中嵌套帖子,并按我的预期在帖子中嵌套重新发布。

repost.get('originalPost') -> post

post.get('originalPost') -> repost ???

谁可以解释这种行为以及如何避免这种行为以仅创建一个方向关系?

谢谢!

最佳答案

您需要specify the inverse定义从模型到同一模型的关系时。看来您不想要逆,因此您应该指定 null:

模型/post.js

export default DS.Model.extend({
  text: DS.attr('string'),
  originalPost: DS.belongsTo('post', {async: false, inverse: null})
});

关于javascript - Ember.js 嵌套模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34792668/

相关文章:

javascript - 不运行 fn 时异步

javascript - 主干菜单未排序

ember.js - 在 Ember.js 中,启用 ENV.VIEW_PRESERVES_CONTEXT 时 View 的上下文是什么?

javascript - 通过 JQuery AJAX/javascript 发送表单数据

javascript - 使用回调 JS/JQuery

javascript - Ember,观察者以奇怪的顺序触发

javascript - Ember.JS 路由与 Google map

node.js - Ember 生产构建错误 'WARN: Output exceeds 32000 characters'

ember.js - 如何分页 Ember 数据关系

javascript - 如何使用 JavaScript 变量提取 JSON 字符串?