我有一个通过DS.belongsTo
链接的子模型和父模型。在我的child/index
模板中,我链接到父级:
{{linkTo "parent" parent}} go to parent {{/linkTo}}
现在这是我的问题:Ember Data会逐个加载所有父模型(即使我在async: true
关系中指定了belongsTo
)。这似乎是由linkTo
引起的,因为当我删除该行时,此行为会停止。
如何阻止ED beta 3这样做?用例是我的子模型是父模型的部分模型,因此这种行为违背了我的设置点(并且似乎没有必要)。
答案 0 :(得分:2)
虽然@ kinpin2k的答案可行,但我找到了一个更好的答案:我刚刚发现{{link-to}}
也接受id作为参数。
就我而言,我将parent: DS.belongsTo('parent')
更改为parent_id: DS.attr('string')
。没有必要改变我的任何后端,因为这是Active Model Serializer无论如何都返回它。然后我将模板更改为:
{{link-to "parent" parent_id}} go to parent {{/link-to}}
并且一切正常,因为(正如@ kingpin2k很好地解释的那样)Ember不再访问父模型了。
编辑:已更新以反映新语法:{{linkTo}}现在是{{link-to}}
答案 1 :(得分:1)
这不是Ember Data,它是Ember访问模型。异步意味着在有人试图访问它之前不加载它,在链接中使用它被视为使用它。
您可以将其添加到某个操作,然后转换到该路径,而不是使用link0to