밑에 ButtonContent를 클릭했을 때 click 이벤트를 듣고 각 버튼에 맞는 메서드를 처리하고 싶었다. 그런데 아무 일도 일어나지 않았다.
<template>
<div class="button-wrapper">
<ButtonContent :value="'발행'" @click="publishContent" />
<ButtonContent :value="'임시저장'" @click="saveContent" />
<ButtonContent :value="'취소'" @click="cancelContent" />
</div>
</template>
자식 버튼 컴포넌트에서 @click 이벤트를 발생시키면 당연히 이벤트가 발생하는 줄 알았다. 하지만 내가 예상했던 대로 동작하지 않았던 이유는, 자식 컴포넌트에게 이벤트를 v-on으로 바인딩시키는 상황은 오로지 자식 컴포넌트에서 emit한 이벤트를 listen할 때만 해당하기 때문이다.
이런 상황에서는
하는 방식으로 해결할 수 있다(이 두 click은 서로 다른 click이다!).
// 자식 컴포넌트
<template>
<div
**@click="$emit('click')"**
>
{{ value }}
</div>
</template>
만약 내가 잘못된 브랜치에서 작업을 하고 있다는 것을 알았을 때 당황할 수 있다.
이 때 git stash를 사용해서 해당 브랜치에서 unstage된 내용을 내가 원하는 브랜치로 옮길 수 있다.
git stash
git checkout 내가원하는브랜치
git stash pop
이렇게 적용하면 된다.
this.$router.push
방식을 외부 url에 접근하는 데에 사용할 수 있을까?
안 된다. 뷰 내부의 라우트에서만 사용할 수 있는 방식이다. 이 때 사용할 수 있는 방법은 아래 참고