Vue.component('button-counter', {
template: '<button v-on:click="increment()">{{ counter }}</button>',
data: function () {
return {
counter: 0
}
},
methods: {
increment: function () {
this.counter += 1
}
},
})
例如上面的元件,我希望 v-on監聽的事件是 父元件傳遞過來的,而不是在這裡寫死為click,我該怎麼寫?
我當然知道使用props傳遞,我想知道v-on後面該怎麼寫。如果直接寫propname的話vue會認為要監聽的事件是propname,而不是具體的事件。
題主的需求比較特殊,如果是這樣的話可能只能用
render
代替template
了:父元件傳參給字元件都是透過props的,props可以是function,所以你可以傳一個function給字元件