Pds*_*Ink 3 methods emit vuejs2
我试图从子组件调用父方法,但它似乎不起作用..这里的代码:
的index.html
<div class="percorso"v-on:removeall="pathlengthTozero()">
</div>
Run Code Online (Sandbox Code Playgroud)
零件
Vue.component('lista-percorso', {
template:`
<div class="col-lg-2 col-xs-2">
<div class="removeall pull-right" v-on:click="removeall()"></div>
</div>`,
methods:{
removeall : function(){
this.listaSelezionati = [];
this.$emit('removeall');
}
}
Run Code Online (Sandbox Code Playgroud)
父方法
pathlengthTozero : function(){
il_tuo_percorso = [''];
}
Run Code Online (Sandbox Code Playgroud)
似乎"pathlengthTozero"没有调用emit,这是正确的使用方法吗?
你需要将它放到如下所示v-on:removeall="pathlengthTozero"的组件<lista-percorso>中,
<lista-percorso v-on:removeall="pathlengthTozero"></lista-percorso>
Run Code Online (Sandbox Code Playgroud)
并且this.$emit将能够触发父类的方法.
示例演示:
Vue.component('lista-percorso', {
template:`
<div class="col-lg-2 col-xs-2">
<div class="removeall pull-right" v-on:click="removeall()">xxxxxxxxxx</div>
</div>`,
methods:{
removeall : function(){
this.listaSelezionati = [];
this.$emit('removeall');
}
}
})
var App = new Vue({
el: '#app',
methods:{
pathlengthTozero : function(){
alert('hello');
il_tuo_percorso = [''];
}
}
});Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/vue"></script>
<div id="app">
<div class="percorso" ></div>
<lista-percorso v-on:removeall="pathlengthTozero"></lista-percorso>
</div>Run Code Online (Sandbox Code Playgroud)