본문 바로가기
Javascript/ExtJS

Publish

by 스빠시빠 2019. 4. 13.

Custom ViewModel 데이터

 

ExtJs에서는 사용자에게 기본적인 viewModel 데이터를 제공해준다.

예를 들면, Text 컴포넌트는 기본적으로 rawValue, value, dirty 값을 제공한다. 해당 값들은 viewModel 및 reference를 이용해서 사용할 수 있다.

하지만 다른 값들을 나의 입맛에 맞게 사용하고 싶을 때가 있다. 그 때 사용 할 수 있는게 publishes란 config과 publishState라는 함수다.

 

사용법

 

Text 컴포넌트에 값이 유효한지 체크하는 config를 추가해서 사용하고 싶다면,

publishes: {'value', 'rawValue', 'dirty', 'valid'}

valid라는 값을 추가했다. (주의사항: 덮어쓰기 방식이므로 기존 값들도 같이 적어줘야 한다.)

 

이후 validitychange이벤트 콜백에서 유효성 검사를 해주고 valid 값을 업데이트 해주면 된다.

.publishState('valid', true)

 

왜 필요한가?

 

데이터 바인딩이란 개념은 요즘 프로그래밍에서 굉장히 중요한 요소로 자리 잡고있다. 실제로 보는 화면과 메모리 상의 데이터를 일치 시키는 작업은 개발자에게 불필요한 코드를 작성하게 만들고 아름답지 못한 구조를 만들게 된다.

개발자들은 항상 아름답고, 효율적이고, 직관적인 코드를 작성해야 한다. 그런 관점에서 데이터 바인딩은 필수 기술이고 그 기술을 지원해주는 기능이 바로 ExtJs의 publish다.

 

개발자들이 알아야 할 것이 있다. 프로그램의 세계에는 마법같은 일은 없다. 개발하기 편하다는 건, 안보이는 곳에서 내가 해야 할 일들을 해주고 있다는 뜻이다. 그래서 내부로 내려가면 다 비슷한 코드, 비슷한 일들을 하는 걸 찾을 수 있다.

 

댓글