2016-07-26 51 views
1

當我嘗試在AngularJS指令中爲cytoscape節點創建qtip工具提示時遇到錯誤消息Uncaught TypeError: qtip.$domEle.qtip is not a function

我的代碼如下所示:

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; 

我已經通過了this quite similar thread,但jQuery是前cytoscape.js-qtip通過CommonJS的需要,該解決方案不適合太清楚了。

有誰知道如何解決這個問題?先謝謝你。

編輯:代碼示例中修復了鍵入錯誤。

+1

有沒有足夠的信息在這裏重現該問題。嘗試在沒有Angular的簡單設置中再現您的問題,並/或創建一個完整的運行示例,以Jsbin或Codepen等方式重現您的問題。如果您可以在完整示例中重現問題並且問題不屬於您自己的問題,請在擴展的問題跟蹤器 – maxkfranz

回答

0

我懷疑你有你的選擇問題:

cy.$('test') 

這也許應該是兩種:

cy.$('#test') 

...如果你正在尋找一個節點通過它的ID。或者:

cy.$('.test') 

...如果您正在按類查找節點。

更多關於選擇:http://js.cytoscape.org/#selectors

+0

感謝您的回答,這只是在推廣代碼示例時出現了打字錯誤,因此錯誤仍然存​​在。你有其他想法嗎? – kingmarv

+0

我可以看看你是否在JSBin等上發佈了一個運行的例子。 – peteorpeter