왜 Ember-Data Model의 URL을 설정하려면 "ReopenClass"가 필요합니까?

StackOverflow https://stackoverflow.com//questions/12679998

  •  12-12-2019
  •  | 
  •  

문제

ember-data 모델의 원래 정의에 URL을 포함하려고하면 내 휴식 어댑터에서 불면이지만 단순히 "재구성 할 경우"

이 뒤에있는 기술적 이유는 무엇입니까?(아래의 작업 예제)

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')
.

다른 팁

또한 단순히 reopen를 사용하여 인스턴스를 확장 할 수 있습니다.Emberjs의 Docu는 http : // emberjs에서 찾은 예제를 포함합니다.COM / 가이드 / 오브젝트 모델 / 재개 - 클래스 - 및 인스턴스 /

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top