2016-12-22 4 views
1

상점에 전화를 겁니다. 그 load 청취자에서 레코드를 테스트 한 다음 부울 값을 변수에 보내야 내 필드에 readOnly를 설정해야합니다.변수에 속성을 바인딩합니다 (편도 바인딩이라고 생각하면)

내 VM에서

readOnly : { 
      value : true 
     } 

기본

으로 넣어 내 뷰 모델의 data.I에 그 변수를 변경하는 방법을 모르겠어요. 이 같은 바인드 속성을 내 구성 요소를 잡을 : 나는 그것을 잡을 다음 변수 readOnly 인에 부울를 작성하고 생각 ..

bind: { 
     readOnly: '{readOnly.value}' 
    } 

하고 ... 나도 몰라 내 이 같은 뷰 모델 :

/* 변수 파일 */

Ext.define('routing.utils.Vars', { 
    alternateClassName: 'gv', 
    readOnly : false 
}); 

/* 저장 파일 */

[...] 

listeners: { 
     load : function(store,record){ 
      if(a = b) { 
       gv.readOnly = true; 
      } 
      else { 
       gv.readOnly = false; 
      } 
     } 
    } 

[...] 

/* 뷰 모델 파일 */

formulas: { 
    readOnly: { 
     get: function(get){ 
      return gv.readOnly; 
     } 
    } 
} 

내 readOnly 인 방법은 다음 변수를 바인딩 할 ... 변경되지 않습니다 구매?

+0

바인딩 작업하는 방법을 볼 수? –

답변

2

viewmodel의 set 메소드를 사용하여 viewmodel 데이터 등록 정보의 등록 정보를 설정할 수 있습니다.

yourViewModel.set('readOnly',{ 
    value:newValue 
}); 

이 방법으로의 ViewController에서의 ViewModel을 얻을 수 있습니다 :

viewController.getViewModel(); 

Have a look here이 속성은이 가게의 부하에서보기 모델을받을 수

+0

답장을 보내 주셔서 감사합니다. 저는 제 뷰어 컨트롤러에서 내 가게에서 내 기능을 호출하는 법을 모르겠습니다. 내로드 리스너에서 나는 – So4ne

+0

Nvm이라고 생각합니다. 어떻게하는지 발견했습니다. 고마워. – So4ne