Как прикрепить данные к кнопке?

Я добавляю пользовательскую кнопку на карту. Эта кнопка отображается в левой верхней части экрана.

JSFIDDLE демо здесь.

Мне нужно прикрепить данные к кнопке. В своем коде я добавляю номер к кнопке. После нажатия я хотел бы отобразить этот номер в консоли. Пожалуйста, помогите мне.

JS:

ymaps.ready(init);

var map;

function init(){     
    map = new ymaps.Map("map", {
        center: [12.12, 12.12],
        controls: [],
        zoom: 5
    });  

    var btn = new ymaps.control.Button({
        data: {
            content: "bla",
            num: 77783
        }
    });

    map.controls.add(btn, {
        float: 'left',
    }); 

    btn.events.add('click', (e) => {
        console.log('binded data is:', e.get('num'))
    });    
};

1 ответ

Решение

Вам нужно изменить эту функцию:

btn.events.add('click', (e) => {
    console.log('bound data is:', e.get('num'))
});   

чтобы:

btn.events.add('click', (e) => {
    console.log('bound data is:', e.originalEvent.target.data.get('num'))
});

Обновленная скрипка

Другие вопросы по тегам