Uwielbiam zdolność d3 V4 do tego, żebym czuł się kompletnie niekompetentny. Nie mogę się domyślić, jak utworzyć własny pakiet w pakiecie sieci Web wraz z moimi innymi modułami ... więc zamiast tego po prostu próbuję pobrać pakiet d3 waniliowy i dodać do niego możliwość selekcji wielokrotnej.Jak dodać d3-selection-multi do d3?
Stworzyłem usługę d3 w Angular 2, aby uzależnić wstrzyknięcie obiektu d3 między moje komponenty.
import {Injectable} from "@angular/core";
import * as d3 from "d3";
import "d3-selection-multi";
export type D3 = typeof d3;
@Injectable()
export class D3Service {
constructor() {
}
private d3: D3 = d3;
getD3 =() => {
return this.d3;
};
}
Wszystko działa świetnie, dopóki nie próbują uzyskać dostęp do wielu możliwości wyboru, jak przy użyciu .attrs
let test = this.d3.select("body").styles({
"background-color": "#F00",
"color": "#00F"
});
Moja przeglądarka twierdzi, że nie wie, co .attrs jest.
error_handler.js:47 EXCEPTION: Uncaught (in promise): Error: Error in ./ListingComponent class ListingComponent_Host - inline template:0:0 caused by: this.d3.select(...).styles is not a function TypeError: this.d3.select(...).styles is not a function
Próbowałem zostały również połączenia obu ojects z Object.assign
bezskutecznie.
Co robię źle? To pewnie coś głupiego.
Trafił na ten sam problem z attrs() ... nie rozwiązał. –