我发现如果我尝试将 url 包含在 ember-data 模型的原始定义中,它会在我的 REST 适配器中爆炸,但如果我只是“reopenClass”,那就没问题了。

这背后的技术原因是什么? (下面是工作示例)

CodeCamp.Speaker = DS.Model.extend({
    id: DS.attr('number'),
    name: DS.attr('string'),
    session: DS.belongsTo('CodeCamp.Session')
});

CodeCamp.Speaker.reopenClass({
    url: 'sessions/%@/speakers'
});

最佳答案

在对象上调用 extend 设置实例属性,而 reopenClass 设置类属性。
url 属性是一个类级别的属性,

Ember.get(CodeCamp.Speaker, 'url')

与:
speaker = CodeCamp.Speaker.createObject()
Ember.get(speaker, 'name')

关于ember.js - 为什么我需要 "reopenClass"来设置 ember-data 模型的 url?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12679998/

10-08 22:57