Sto creando una mappa utilizzando il sistema dei moduli. Sono più o meno abituato a D3.js v3, ma mi sto ancora abituando alla v4.Esportazione di riconversione in d3.js v4
Sto tentando di aggiungere un messaggio ma non so come riassociare le esportazioni in V4, in quanto questa funzione non è disponibile ora.
Così per la mia spedizione (_dis) e il mio particolare evento ("changetype"), il rebind in d3 v3 sarebbe giusto prima di tornare alle esportazioni, ad esempio:
d3.mapDots = function (districts){
var _dis = d3.dispatch('changetype');
(...)
exports.color = function(_c){
if(!arguments.length) return color;
color = _c;
return this;
};
d3.rebind(exports,_dis,"on");
return exports
};
Qualcuno sa come fare questo in v4? Ho provato a dispatch.apply ma non funziona.
Grazie!
Grazie per la spiegazione! Ora capisco come funziona meglio ... Anche se la mia spedizione non è ancora attiva. Ho due file diversi (il file principale script.js e un altro solo per creare la mappa in cui 'exports.on = function()' è), pensi che potrebbe essere dovuto a questo? Grazie! – Irene
@Irene Se ho capito la tua domanda ... Non dovrebbe importare che siano in file diversi. Ciò che importa è che 'exports.on = function() {...}' risiede nella funzione di instantiator (nel tuo caso sarebbe all'interno di 'd3.mapDots = function (districts) {...}'). Se questo è il caso, allora il loro essere in file separati non dovrebbe essere un problema, a patto che lo script principale importi correttamente lo script 'mapDots' (se sei in grado di chiamare' d3.mapDots() 'senza errori allora è correttamente importato). – meetamit
Dovresti essere in grado di creare un jsFiddle che riproduca il tuo problema, e questo ti aiuterà a risolverlo. – meetamit