2017-12-29 24 views
-1

순수 HTML 및 CSS (CodeMyUI)에서이 간단한 햄버거 메뉴를 수행하고 있으며 링크를 클릭하면 자동 닫기를 원합니다. vuerouter-links과 함께 사용하면 페이지가 다시로드되지 않습니다.링크를 클릭하면 체크 박스를 선택 해제하십시오.

<template> 
    <nav> 
    <input type="checkbox" id="menu" /> 
    <label for="menu"></label> 
    <div class="menu-content"> 
     <router-link to="/" class="mainlink">{{ $t("message.navFront") }}</router-link> 
     <router-link to="/about" class="mainlink">{{ $t("message.navAbout") }}</router-link> 
     <router-link to="/portfolio" class="mainlink">{{ $t("message.navPort") }}</router-link> 
    </div> 
    </nav> 
</template> 
+2

은 무엇을하려고하는, 우리에게 코드를보기 ** StackOverflow **는 _how to_ 사이트가 아닙니다 ... –

+0

@Matheus Cuba, Thomas Alexander Woolff가 제공하는 링크를 따르십시오. 소스 코드를 볼 수있는 액자 코드 펜이 있습니다. –

+0

@Davide : OP는 다음을 제공해야합니다. 설명 된 문제를 재현하는 데 필요한 [mcve]. 그 코드가 실행될 때 일어나는 일에 대한 설명 (문제 자체); s/he가 무엇을 원하거나 기대하는 것에 대한 설명. CodePen, JS Fiddle 또는 자신의 웹 사이트가 아닌 외부 리소스에 연결하고 코드를보기 위해 우리가 갈 것으로 기대하는 것은 용납되지 않습니다 (많은 경우에 좋은 보너스이지만 필요한 코드를 게시하는 대신 사용할 수는 없습니다). 질문 –

답변

1

v-model을 사용하여 값을 바인딩 해 보았습니까?

<input type="checkbox" id="menu" v-model="checkboxValue /> 
<router-link to="/" class="mainlink" @click.native="uncheck">{{ $t("message.navFront") }}</router-link> 

그런 다음 checkboxValue to the data()에 값을 지정하고 메소드에 대한 선택을 취소하십시오.

data() { 
return { 
    checkboxValue: false, 
}; }, 

methods:{ 
uncheck(){ 
    this.checkboxValue = false; 
}} 

이렇게하면 링크를 클릭하면 확인란의 선택을 취소 할 수 있습니다.

편집 : 그래서 분명히 경로 링크 요소는 @click을 지원하지 않지만, @의 click.native를 지원할 수 있습니다 (또는 V-에 : click.native)

+0

vue 인스턴스가 업데이트되지 않는 것과 같은 해결책을 시도했습니다 .vue-cli 설치를 실행하면 문제가 될 수 있습니까? 스크립트는 다음과 같습니다.

+0

그 때 @ 클릭 = "선택을 취소" 그것이 작동하지 않는 라우터 링크에 있습니다! 나는 정상적인 href 태그를 사용할 때 매력처럼 작동합니다. –

+1

안녕하세요 @ ThomasAlexanderWoolff 나는 라우터 링크가 클릭 이벤트를 지원하지 않는 것을 보았습니다 https : // github.co.kr/vuejs/vue-router/issues/800하지만 v-on을 사용하면 click.native로 작동하는 것으로 보입니다. –

0

<input type="checkbox" id="menu" /> 메뉴의 링크에서 클릭이 발생하면 선택을 취소해야합니다. 이 같은 아마 어떻게 든 https://vuejs.org/v2/guide/events.html#Method-Event-Handlers

: 멋진 VUE 이벤트와

여기처럼 설명

템플릿

<router-link to="/" class="mainlink" v-on:click="uncheck"> {{ $t("message.navFront") }} </router-link> 

JS

methods: { 
    uncheck: function (event) { 
     document.getElementById("menu").checked = false; 
    } 
    } 
+0

vue.js에서 나는 JS가 있어야한다고 생각 : 방법 : { 선택 해제 : 기능 (이벤트) { document.getElementById를 ("메뉴") 확인 = 거짓; } .} 하지만 그건 제공합니다. 내 오류 –