2017-01-07 155 views
0

因此,第一個v-on點擊起作用,但是當我嘗試觸發下面的點擊時,沒有任何反應。我假設你真的不能嵌套不同onclicks這樣嗎?我不能只是使用相同的v-on click在這種情況下,因爲添加的類將觸發不同的行爲。兩個不同的v-on:同一元素內的點擊

<div id="menu"> 
    <div class="menu" v-on:click="toggle" v-bind:class="{ active: isActive }"> 
     Hey 
     <div class="m-items animated slideInRight" v-on:click="change" v-bind:class="{ display: display }"> 
      <ul> 
       <li><i class="fa fa-toggle-off" aria-hidden="true"></i>Hey</li> 
      </ul> 
     </div> 
    </div> 
</div> 

var menu = new Vue({ 
    el: '#menu', 
    data: { 
    isActive: false, 
    }, 

    methods: { 
    toggle: function(event) { 
     this.isActive = !this.isActive 
    } 
    } 
}) 

var displayList = new Vue({ 
    el: '.m-items', 
    data: { 
    display: false, 
    }, 

    methods: { 
    change: function(event) { 
     this.display = !this.display 
    } 
    } 
}) 

回答

0

您可以使用event modifiersv-on:click阻止點擊事件的傳播,你的情況,你可以像下面:

<div id="menu"> 
    <div class="menu" v-on:click="toggle" v-bind:class="{ active: isActive }"> 
     Hey 
     <div class="m-items animated slideInRight" v-on:click.stop="change" v-bind:class="{ display: display }"> 
      <ul> 
       <li><i class="fa fa-toggle-off" aria-hidden="true"></i>Hey</li> 
      </ul> 
     </div> 
    </div> 
</div> 
+0

嗯,這並不工作...它看起來像「撥動」點擊只是覆蓋,不允許更改,即使加入後觸發‘停止’,但感謝您的幫助 –

+0

我也嘗試添加‘自我’的‘切換’之一,也是(我希望不會影響孩子,但沒有運氣) –

相關問題