왜 Ember-Data Model의 URL을 설정하려면 "ReopenClass"가 필요합니까?
-
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 / 가이드 / 오브젝트 모델 / 재개 - 클래스 - 및 인스턴스 /
제휴하지 않습니다 StackOverflow