2016-07-26 15 views
1

Ich stoße die Fehlermeldung Uncaught TypeError: qtip.$domEle.qtip is not a function beim Versuch, einen Qtip Tooltip für einen Zytoscape-Knoten in einer AngularJS-Direktive zu erstellen.

Mein Code sieht wie folgt aus:

function graphDirective() { 
    return { 
    restrict: 'E', 
    templateUrl: 'app/graph/graph.html', 
    link() { 
     const cytoscape = require('cytoscape'); 
     const jquery = require('jquery'); 
     const cyqtip = require('cytoscape-qtip'); 
     cyqtip(cytoscape, jquery); 

     const cy = cytoscape({ 
     container: document.querySelector('graph #cy') 
     }); 

     cy.add({ 
     nodes: [ 
      { 
      data: { 
       id: 'test' 
      } 
      } 
     ] 
     }); 

     cy.$('#test').qtip({ 
     content: 'Hello!' 
     style: { 
      classes: 'qtip-bootstrap' 
     }); 
    } 
    }; 
} 

export default graphDirective; 

ich bereits durch this quite similar thread gegangen sind, aber wie jQuery über Commonjs vor cytoscape.js-qtip erforderlich ist, ist diese Lösung nicht zu gut passen.

Kann jemand das beheben? Vielen Dank im Voraus.

Bearbeiten: Tippfehler in Codebeispiel behoben.

+1

Es gibt nicht genug Informationen hier das Problem zu reproduzieren. Versuchen Sie, Ihr Problem in einem einfacheren Setup ohne Angular zu reproduzieren und/oder erstellen Sie ein ausführliches Beispiel, das Ihr Problem auf Jsbin oder Codepen usw. reproduziert. Wenn Sie das Problem in einem vollständigen Beispiel reproduzieren können und das Problem nicht Ihr eigenes ist, melden Sie einen Fehler in der Problem Tracker für die Erweiterung – maxkfranz

Antwort

0

Ich vermute, dass Sie ein Problem mit Ihrem Wähler haben:

cy.$('#test') 

..., wenn Sie für einen Knoten suchen, indem sie es ID ist:

cy.$('test') 

Dies ist wahrscheinlich entweder sein sollte. Oder:

cy.$('.test') 

... wenn Sie nach Knoten nach Klasse suchen.

Weitere Informationen über Selektoren: http://js.cytoscape.org/#selectors

+0

Vielen Dank für Ihre Antwort, dies ist nur ein Tippfehler bei der Verallgemeinerung des Codebeispiels, so dass der Fehler immer noch auftritt. Hast du eine andere Idee? – kingmarv

+0

Ich könnte einen Blick darauf werfen, wenn Sie ein laufendes Beispiel auf JSBin usw. veröffentlichen. – peteorpeter