Javascript 如何在Vue.js中触发同级方法 问题
我不知道如何在一个组件中触发同级方法 代码 我有这样的方法Javascript 如何在Vue.js中触发同级方法 问题,javascript,jquery,vue.js,vuejs2,Javascript,Jquery,Vue.js,Vuejs2,我不知道如何在一个组件中触发同级方法 代码 我有这样的方法 methods: { closeModal: function(){ function closeM(){ $('.modal').css({opacity: 0 , 'visibility':'hidden'}); } closeM(); }, closeOutsi
methods: {
closeModal: function(){
function closeM(){
$('.modal').css({opacity: 0 , 'visibility':'hidden'});
}
closeM();
},
closeOutside: function(){
$(document).mouseup(function (e){
var container1 = $('.modal__box');
if (!container1.is(e.target) &&
container1.has(e.target).length === 0)
{
this.$emit('closeModal',closeM());
}
});
}
}
我的模板
<div class="modal" @click="closeOutside()">
<div class="modal__box z-depth-2 pr">
<div class="modal__header"> {{header}} </div>
<i class="modal__close pa fa fa-times" @click="closeModal() "> </i>
<div class="modal__content">
<slot> </slot>
</div>
</div>
</div>
{{header}}
问题:
如何从closeOutside触发closeModal?我是Vue.js的新手。在Vue中,您的所有方法都将绑定到此,就像任何数据和计算一样。 因此,您可以使用
this.closeModal()
编辑:
我制作了一把小提琴,也许可以帮助你开始。警告:这是对当前解决方案的彻底修改,但它是以“vue”方式进行的。我也是vue的新手,所以请随时改进它 取代
this.$emit('closeModal',this.closeModal());
你的意思是不能从
closeOutside
调用closeModal
?是的,我想触发closeModal的功能
this.$emit('closeModal',this.closeModal());