Прежде всего, это может быть не вопрос LeafletJS, а простой JS, но я не встречал его до Листовки.Как продлить работу в LeafletJS и зачем мне нужна промежуточная атрибуция для правильной работы?
Я в последнее время экспериментировал с Leaflet и в какой-то момент хотел передать функции расширенную версию объекта Control (для тех, кто также работает с Java или подобным языком, я пытался сделать что-то подобное с созданием экземпляра анонимный класс).
Итак:
Учитывая класс L.Control (который я хотел расширить с помощью метода х), я попробовал:
func(new L.Control.extend({x: function() {}})());
, который с треском проваливается, так как параметр функции func
является не определено.
Однако:
var v = L.Control.extend({x: function() { }});
func(new v());
работает отлично, так как new v()
возвращается, как и ожидалось, в L.Control
объекта с дополнительной функцией х.
Нижняя строка: в чем разница между двумя фрагментами кода и как я могу заставить его работать с одним слоем (если возможно)?
Спасибо!
Если вы не собираетесь изменить один из методов классов-х и только добавляя функции к классу, вы должны использовать метод 'include':' L.Control.include ({'x': function() {}}); ' – iH8