2017-09-09 16 views
0

我有一個v-if條件的模板標籤。當這個條件成立時我想觸發一個方法。類似於:如何在v-if標籤內觸發一個方法(無v-on)?

<template v-if="condition"> 
    {{ doit() }} //trigger method 
</template> 

當條件爲真時,我想調用doit方法。我怎樣才能做到這一點?

+0

是什麼方法呢?它是否在DOM中產生任何東西? –

+0

@JasonSmith否,它只更新組件中的一個數字。 – Skeletor

回答

1

如果您想調用的方法對DOM沒有任何作用,我建議您將它從模板中移出,可能是移到了一個監視器上。就像這樣:

var app = new Vue({ 
 
    el: '#app', 
 
    data: { 
 
    val1: 1, 
 
    val2: 0 
 
    }, 
 
    watch : { 
 
    val1: function() { 
 
     this.val2++; 
 
    } 
 
    } 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script> 
 

 
<div id="app"> 
 
    <input type="text" v-model="val1"/> 
 
    <div>Val1 Modification count: {{ val2 }}</div> 
 
</div>

相關問題