turbo-drive

Turbo 의 방문을 넘어 상태를 잇습니다. 이름을 더하지 않는 확장입니다 — 싣기만 하면 됩니다.

Turbo 는 링크를 누르면 body 를 통째로 갈아 끼웁니다. 코어만으로도 새 화면의 스코프는 살아나고 옛 화면의 스코프는 정리됩니다. 이 확장은 그 위에 두 가지를 더합니다.

data-turbo-permanent

Turbo 는 id 와 data-turbo-permanent 가 붙은 요소를 새 화면으로 그대로 옮겨 줍니다. 이 확장을 더하면 그 안의 스코프가 상태 그대로 따라옵니다. 감싼 스코프가 정리돼도 함께 정리되지 않습니다.

뒤로 가기 캐시

Turbo 는 떠나는 화면을 복제해 두었다가 뒤로 가기에서 되돌립니다. 그 복제본은 이미 살아난 뒤의 DOM 이라 그대로는 죽은 화면입니다. 이 확장은 복제 직전에 스코프마다 살아나기 전 모습을 달아 두고, 돌아온 화면을 그것으로 다시 살립니다. 두 번 그리지 않습니다.

상태를 남기는 세 가지

남기는 범위방법어디에 있나
모든 화면이 함께 보는 값플러그인의 provide 로 올리고 h-inject 로 받기코어 — provide
다시 그려진 같은 조각h-keep="키"코어 — h-keep
방문을 넘어 옮겨지는 요소data-turbo-permanent이 확장

더하기

일반 스크립트 방식은 extensions/turbo-drive.iife.js 를 싣습니다. Turbo 를 쓰는 곳은 이 확장을 반드시 더합니다 — 없으면 뒤로 가기로 돌아온 화면이 살아나지 않습니다.