0

나는이 분야 내 컨트롤러에서이 필드에서 데이터를 액세스 할Ember.js - 컨트롤러 따기없는 모델 데이터는

diaryItemLabel: DS.attr('string'), 

이있는 모델을 가지고있다.

Controller.js 

enter image description here

은 내가 diaryItemLabel에서 얻을 어떤 데이터로 '추가'를 교체합니다.

this.get ('model.diaryItemLabel')을 사용할 수 없습니다. 그것은 this.get()이 함수가 아닙니다. Ember.get ('model', 'diaryItemLabel')을 사용해 보았습니다. 그것은 빈 문자열을 제공합니다.

편집 1 : 변수가 비어있는 경우 model.diaryItemLabel 인 경우 기본값을 '추가'로 설정하십시오.

누군가 나를 올바른 방향으로 안내 할 수 있습니까?

감사

답변

1

컨트롤러는 model 후크 후에 호출됩니다 setupController 후크 후 model 속성을 얻을 것이다.

또한 당신은 내가 '추가'로 temp.accept 텍스트 기본 설정 어떻게 말해 줄 수있는 필요한 객체 돌아갑니다 컨트롤러 model.diaryItemLabel에 따라

confirm:Ember.computed('model.diaryItemLabel',function(){ 
let temp = {}; 
temp.accept= { text: Ember.isEmpty(this.get('model.diaryItemLabel')) ? 'Add' : this.get('model.diaryItemLabel'), buttonClass: 'btn btn-primary'}; 
temp.reject = { text: 'cancel', buttonClass: 'btn btn-default'}; 
return temp; 
} 
+0

덕분에 – user2798227

+0

을 @kumkanillam 계산 된 속성을 작성합니다. 따라서 model.diaryItemLabel이 비어 있으면 '추가'로 설정하십시오. – user2798227

+1

isEmpty 검사로 답변이 업데이트되었습니다. http://emberjs.com/api/classes/Ember.html#method_isEmpty – kumkanillam