2017-01-07 28 views
0

最初のv-onクリックは機能しますが、その下にあるものをトリガーしようとすると何も起こりません。私はあなたが本当に異なる入れ子にすることはできないと仮定していますonclicksこのような?この場合、追加されたクラスが異なる動作を引き起こすので、同じv-on clickを使用することはできません。あなたはあなたのケースでのクリックイベントの伝播を停止するv-on:clickevent modifiersを使用することができます2つの異なる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

は、次のようにそれを行うことができます。

<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

「トグル」にも「自己」を追加しようとしました、運がない) –

関連する問題