Показать сообщение отдельно
  #1 (permalink)  
Старый 29.01.2017, 08:03
Новичок на форуме
Отправить личное сообщение для andrei24 Посмотреть профиль Найти все сообщения от andrei24
 
Регистрация: 04.05.2015
Сообщений: 4

Vue js вызвать метод
Всем привет. Мучаюсь уже не один час. Задача: при клике на мышь вывести меню, далее при нажатии на пункт меню вызвать метод.
Проблема: метод 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);
        }
    }
});
Ответить с цитированием