cytoscape.js-qtip扩展名:qtip $ domEle.qitp不是一个函数

问题描述 投票:1回答:2

试图创建一种在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的需要,该解决方案不适合太清楚了。

有谁知道如何解决这一问题?先感谢您。

编辑:修正了代码示例打字错误。

javascript angularjs qtip2 cytoscape.js
2个回答
0
投票

我怀疑你有你的选择问题:

cy.$('test')

这也许应该是两种:

cy.$('#test')

...如果你正在寻找通过它的ID的节点。要么:

cy.$('.test')

...如果你正在寻找由类节点。

欲了解更多关于选择:http://js.cytoscape.org/#selectors


0
投票

在我的情况yarn同时安装jQuery的两个版本:2.x和3.x的

如果您遇到了同样的问题,解决的办法是容易 - 只需将此属性添加到您的package.json

"resolutions": { 
  "jquery": "2.2.4" //or whatever version that satisfies all requirements
}
© www.soinside.com 2019 - 2024. All rights reserved.