ember-leaflet é um complemento muito popular do ecossistema EmberJS que permite muita flexibilidade.
Mas e se eu quiser estender sua funcionalidade para que ela possa fazer ainda mais? E se eu quiser que ele seja um novo componente gerado diretamente das camadas
Primeiro precisaremos do nosso novo componente. Para simplificar, este componente apenas estenderá um componente de camada existente do complemento. Vamos usar o componente marcador e fazer com que ele simplesmente ignore o argumento de localização e defina um valor falso e codificado:
// app/components/fake-marker-layer.gts import MarkerLayer from 'ember-leaflet/components/marker-layer'; export default class FakeMarkerLayer extends MarkerLayer { get location() { return this.L.latLng(46.68, 7.85); } }
Depois disso, precisaremos registrar o componente no serviço ember-leaflet:
// app/instance-initializers/leaflet.ts import FakeMarkerLayer from '../components/fake-marker-layer'; import type Owner from '@ember/owner'; export function initialize(owner: Owner) { const emberLeafletService = owner.lookup('service:ember-leaflet'); if (emberLeafletService) { emberLeafletService.registerComponent('fake-marker-layer', { as: 'fake-marker', component: FakeMarkerLayer, }); } } export default { initialize, };
E agora podemos usá-lo:
import LeafletMap from 'ember-leaflet/components/leaflet-map';
Você também pode ler sobre esta técnica na página oficial de documentação do folheto ember.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3