Всем привет. Мучаюсь уже не один час. Задача: при клике на мышь вывести меню, далее при нажатии на пункт меню вызвать метод.
Проблема: метод create не отрабатывает.
<div id="app"></div>
var BodyMenu = new Vue({
template: `\
<div class="context-menu" :style="[{ left: pageX + 'px' }, { top: pageY + 'px' }, { display: display }]">\
<ul>\
<li onclick="alert(\'Клик!\')"><a id="createTable" onclick="alert(\'Клик!\')" @click="$emit(\'create\')">Create</a></li>\
</ul>\
</div>\
`,
data: function () {
return {
pageX: 0,
pageY: 0,
display: 'none'
}
},
methods: {
create() {
alert(2);
}
}
});
const app = new Vue({
el: '#app',
mounted() {
$(document).on('mousedown', this.bodyMenu);
},
methods: {
bodyMenu() {
$('.context-menu').remove();
BodyMenu.pageX = event.pageX;
BodyMenu.pageY = event.pageY;
BodyMenu.display = 'block';
var menu = BodyMenu.$mount();
document.getElementById('app').appendChild(menu.$el);
},
create() {
alert(12);
}
}
});