2013-07-11 4 views
6

Ember.js (및 Ember Data)를 사용하면 id, labeldescription과 같은 모델의 속성을 지정할 수 있습니다. 그러나 사용자가 어떤 모델 에든 자신의 속성을 추가 할 수있게 허용합니다. 런타임에 모델에 동적으로 속성을 추가 할 수있는 방법이 있습니까? 더 중요한 것은 Ember.js가 해당 속성의 변경 사항을 인식하고 저장하겠습니까?Ember.js 동적 모델 속성

답변

13

Ember는 Ember.defineProperty을 통해 개체 속성을 정의합니다. 서명은 Ember.defineProperty(object, propertyName, function)입니다. _lorem 기본으로하는 lorem 속성을 정의하는 예를 들어, 당신은 propertyName 동적 때 사용자 입력 처리기에 본사를 둔이 메소드를 호출 할 수 있습니다

Ember.defineProperty(this, 'lorem', 
    Ember.computed(function (key, value) { 
    if (value) { 
     this.set('_lorem', value); 
     return value; 
    } else { 
     return this.get('_lorem'); 
    } 
    } 
)); 

를 사용할 수 있습니다. 이런 종류의 것은 메타 객체 시스템을 확장하는 데 가장 적합합니다. 특히 사용자 입력에주의하십시오!

+0

멋진 답변 @Darshan! – intuitivepixel

+0

고마워,이게 내가 필요한 것 같아. – GJK