# Data Binding
* 데이타 바인딩 메카니즘은 things-scene의 기능 중 핵심 기술임
* things-scene 라이브러리는 데이타 바인딩 메카니즘은 컴포넌트의 속성에 데이타를 코딩없이 완전한 연결을 가능하게하는 유연하면서도 독창적인 방법을 제공함
## 특징
* JSON 데이타 형식을 지원함 (JSON centric)
* 컴포넌트간의 데이타 전파라는 개념을 제공함 (data spread)
* 원시 데이타 값뿐만 아니라 mapping, range, eval 규칙을 통해 원시 데이타를 가공한 값을 전파하는 기능을 제공함.
* 데이타 변화 이벤트를 감지해서 chain 방식으로 컴포넌트들에 전파됨.
## 데이타 바인딩 속성
### 접근자 (accessor)
* 컴포넌트의 data가 오브젝트 또는 배열 형태인 경우에 data의 일부분 만을 전파시키고자 할 때 accessor 로 지정할 수 있다.
* 방법
 * 오브젝트의 속성값을 지정
 * 배열내의 엘리먼트를 인덱스로 지정
 * 오브젝트 속성값과 배열의 인덱스를 다중단계로 지정
### 대상 (target)
* 데이타를 전파하고자 하는 대상 컴포넌트를 지정
* 방법
 * (self) - 컴포넌트 자신을 의미하는 특수 지정자
 * (key) - 전파할 데이타 내용을 기반으로한 특수 지정자로서, 오브젝트 형식 데이타의 각 key값과 동일한 ID를 갖는 컴포넌트들이 전파 대상이 된다.
 * [PROPERTY] - 전파할 데이타 내용을 기반으로한 특수 지정자로서, 오브젝트 배열형태의 데이타의 지정 PROPERTY의 값과 동일한 ID를 갖는 컴포넌트들이 전파 대상이 된다.
 * \#ID - ID 값과 동일한 id를 갖는 컴포넌트가 전파 대상이 된다.
 * .CLASS - CLASS 값과 동일한 class를 가지는 컴포넌트들로 
### 속성 (property) -
### 규칙 (rule)
 * 값 (value)
 * 매핑 (mapping)
 * 범위 (range)
 * 함수 (eval)
