프로퍼티

속성의 식 안에서 쓰는 이름 12개입니다. 모두 $ 로 시작합니다. 스코프의 값과 섞이지 않게 하려는 것입니다.

$scope

이 h-scope 자신의 값. h-state · h-for 가 같은 이름으로 가려도 스코프의 값을 짚습니다.

$el

지금 식이 붙어 있는 요소.

$host

스코프 요소의 손잡이. $host.el 은 스코프 요소, $host.parent 는 부모 스코프의 손잡이이고 $host.parent.scope 는 놓인 자리의 바깥 스코프입니다. 함수 스코프의 도구와 컴포넌트 setup 에서는 host 입니다. 디버깅이나 우회를 위한 것이고 권장되는 접근이 아닙니다 — 바깥 값은 h-inherit · h-inject 로 받습니다. 옛 $root · $parent 는 없어졌습니다($root 는 $host.el).

$host.seal() 은 지금 화면을 그대로 HTML 로 남기고 스코프를 내립니다. 값을 따라가던 것과 속성으로 건 이벤트(@click · h-model)가 모두 빠지고 안쪽 스코프도 같이 봉해집니다. 스크립트가 직접 건 이벤트는 남습니다. 되돌릴 수 없습니다. 봉하기 직전에 @scope:sealed 가 불리고, @scope:unmounted 는 불리지 않습니다. 봉해졌는지는 $host.sealed 로 읽습니다.

봉한 요소에는 h- · @ · : 속성과 <template> 이 남지 않습니다. 그래서 화면에서 채운 문서를 프론트엔드 기능 없이 HTML 로 저장할 때 씁니다 — 저장본에만 필요한 손질은 h-effect.sealed 로 요소마다 적고, 봉한 뒤 $host.el.outerHTML 을 읽습니다.

$props

h-props 로 받은 값. 읽기 전용입니다(속까지). 넣으려 하면 콘솔 에러를 내고 값은 그대로입니다 — 예외를 던지지는 않습니다. 고쳐 쓸 값이 필요하면 스코프에 옮겨 담습니다.

컴포넌트도 같습니다. 받은 props 의 이름에 넣으면 콘솔 에러를 내고 그대로 둡니다. 바꾸는 것은 준 쪽입니다 — 안쪽은 $emit 으로 알립니다.

$emit

위로 올라가는 DOM 이벤트를 냅니다. 조상이 @이름 으로 받습니다.

$dispatch

요소를 짚어 그 요소에서 이벤트를 냅니다. 위로 올라갑니다.

$handle

짚은 요소에만 이벤트를 건넵니다. 위로 올라가지 않습니다.

$refs

h-ref 로 이름 붙인 요소들.

$nextTick

화면이 고쳐진 다음에 실행합니다.

$model

요소를 짚어 그 요소의 h-model 에 닿습니다. get() 은 값을 읽고, set(값) 은 값을 바꾸면서 그 요소의 화면도 바로 맞춥니다. h-model 이 없는 요소면 null 입니다.

$provide · $inject

스코프가 자기 값을 자손에게 내려 주고($provide(키, 값), 함수 스코프는 도구의 provide), 자손이 받습니다. 몇 단계 아래든, 나중에 끼워진 조각에도 닿습니다. 이름으로 받을 때는 h-inject.

$async · $await

비동기 작업에 이름을 붙여 실행하고, 상태 { status, value, promise } 를 읽습니다. 같은 이름은 겹쳐 돌지 않습니다. { force: true } 면 앞의 실행을 취소합니다.