javascript - Cytoscape layout - Ingen sådan layout cola hittades
Jag använder Cytoscape på ett Angular 2-projekt med Typescript och ville använda Cola-layouterna. Därför lade jag till beroendet i mitt projekt med hjälp av npm. Eftersom jag använder Angular 2 med Typescript har jag först lagt till js-modulen i filen angular-cli.json och sedan i index.html-filen. Därefter importerar jag biblioteket i min NetworkComponent, som är Angular-komponenten jag använder för att visa grafen, på följande sätt:
declare var cola:any;Då försöker jag använda layouten på följande sätt:
this.cyto = cytoscape({
container: document.getElementById("graph"),
elements: this.graph.elements,
style: res.json()
});
this.cyto.layout({name: "cola"});
Grafen visas inte och jag får följande fel i konsolen:
Kan inte tillämpa layout: Ingen sådan layout 'cola' hittades; inkluderade du dess JS-fil?
Jag kan använda concentric-layouten och grafen visas, men jag får samma fel för andra layoutextensioner såsom cose-bilkent och springy.
Hur kan jag importera cola-biblioteket och använda det som mitt grafiska layout? Vad kan vara fel här?
Svar #1
Installera
cytoscape-cola:npm install cytoscape-cola --saveImportera
cytoscape-cola-modulen:import cola from 'cytoscape-cola';Använd
colai komponent:cytoscape.use(cola);
då kan du kalla cola-layout.
Svar #2
Det var en enkel lösning. Det visade sig att jag glömde lägga till en referens till cola.js-filen i index.html som krävs av cytoscape-cola.js. Jag trodde att det räckte med att bara använda cytoscape-cola.js, men efter att ha lagt till cola-js-filen fungerar det korrekt.
