alpinejs 이용하는 중인데.. 상태 저장값이 없음.. (있음!)

Updated on

이번에 alpinejs를 이용해서 해보고 있는데… laravel + alpinejs 로만..
근데 여기서 문제가, 상태저장값이 없다..

https://github.com/alpinejs/alpine/issues/254

해당 내용과 같은건데.. state 저장소가 없고, 부모나 다른 자식들과 x-data를 공유할 수가 없다..

이 부분은… 뭐 vue data를 따라하는거니 이해할만 한데.. 일단 bind 도 없음.

근데 여기서 가장 큰 문제점이… navbar 같은 경우는, 버튼이 제각기에 있다.
그래서 div 컴포넌트 안에 navbar 를 열어주는 버튼이 있으리란 보장이 없단 소리다 !

이거와 비슷하게… modal 도 마찬가지이다… modal의 경우 z-index markup 순서도 지켜야 하고하면, 결국 외곽으로 modal div를 빼줘야하는데…

이렇게 되면, 도대체 모달open 상태값을 외부에서 어떻게 실행시킨단 말인가…

이거 때메 처음에 많이 고생했다.. 보면 init에 hook 으로 컨트롤하는 사람도 있는거 같기는 한데…. 너무 복잡해보이고..

해당 글 보면 state 부분에 대해서 개발 중이라고 한다.. 만약에 이게 개발되면.. 저장소에서 modal 이나 navbar 같이 공통적으로 사용되는 것들은 컨트롤할 수 있게 되길 바래본다..

지금은 최상위 div x-data에 modal 데이터를 넣어주고, dispatch로 이벤트를 직접 넣어주고 실행시켜주려고 한다.. (노답…)

일단 빨리, 245번에 해당하는 이슈에 대한 해결방안이 나타났으면 좋겠다.

alpine.js를 처음 사용해보는 것이기도 한데.. 음… 되게 편하고 좋긴하다… 근데 아직 쪼금 부족하다라고 해야되나… 일단.. alpine.js을 단독적으로 사용하는건 거의 불가능하다고 보면 된다.. 위에 이야기한 저장소 문제도 그렇고…

간단한 부분들을 작업하기에는 매우 간편하고 좋을듯 싶다.

만약 저장소 부분만 지원하게 된다면, 솔직히 laravel + alpine.js 로 만으로도 많은 것들을 간단하게 작업해서 내놓을 수 있을 것 같다. (디자인은 tailwindcss 사용중…)

5월 23일 추가 (상태값이 있었다!!! 굿)
https://github.com/ryangjchandler/spruce