2
  1. 我添加到流星细胞景观:infineddg:cytoscape
  2. 我有非常基本的流星应用程序:

你好.js http://pastebin.com/2frsHc9g你好 .html http://pastebin.com/10EYyJ74

但我无法让它工作

这是我可以在网络浏览器的控制台中看到的错误:

在呈现的 zavolana hello.js:9 ss [object Object] debug.js:41 来自 Tracker afterFlush 函数的异常:debug.js:41 TypeError:无法读取 CanvasRenderer.registerBinding 处未定义的属性“addEventListener”(infinitedg_cytoscape.js:17127)在 CanvasRenderer.load (infinitedg_cytoscape.js:17283) 在新 CanvasRenderer (infinitedg_cytoscape.js:13419) 在 $$.fn.core.initRenderer (infinitedg_cytoscape.js:7527) 在新 $$.Core (infinitedg_cytoscape.js:6592)在 HTMLDivElement 的 cytoscape (infinitedg_cytoscape.js:58) 处的 Function.$$.init (infinitedg_cytoscape.js:75)。(infinitedg_cytoscape.js:2808) 在 Function.jQuery.extend.each (jquery.js:384) 在 jQuery.fn.jQuery.each (jquery.js:136)

你有细胞景观和流星组合的“你好世界”吗?

4

1 回答 1

3

问题是通过流星安装了错误的库

在我安装了正确的 cytoscape 库之后,它正在工作

正确的是 cytoscape:cytoscape

这是最小且有效的示例

JS

sit = "" //hlavni objekt

if (Meteor.isClient) {




    Template.graf.rendered = function() {

        // Meteor.defer(function() {
        //setTimeout(function(){

        console.log("on rendered called");
        //var divcy = $('#cy');
        // console.log("ss " + divcy);
        sit = cytoscape({
            container: document.getElementById('cy'),


            ready: function() {
                console.log("network ready");
                updateNetworkData(sit); // load data when cy is ready
            },

            style: cytoscape.stylesheet()
                .selector('node')
                .style({
                    'content': function(e) {
                        return e.data("name")
                    },

                    'font-size': 12,
                    'text-valign': 'center',
                    'color': 'white',
                    'text-outline-width': 2,
                    'text-outline-color': function(e) {
                        return e.locked() ? "red" : "#888"
                    },
                    'min-zoomed-font-size': 8
                        // 'width': 'mapData(score, 0, 1, 20, 50)',
                        // 'height': 'mapData(score, 0, 1, 20, 50)'
                })
                .selector('edge')
                .style({
                    'content': function(e) {
                        return e.data("name") ? e.data("name") : "";
                    },
                    'target-arrow-shape': 'triangle',
                })


        });

        //})
    }




}

if (Meteor.isServer) {
    Meteor.startup(function() {
        // code to run on server at startup
    });
}



function updateNetworkData(net) {

    // init Data

    var nodes = [{ // node a
            group: 'nodes',
            data: {
                id: 'a',
                name:'a'
            }
        }, { // node b
            group: 'nodes',
            data: {
                id: 'b',
              name:'b'
            }
        }

    ]
    var edges = [{ // edge ab
            group: 'edges',
            data: {
                id: 'ab',
              name:'ab',
                source: 'a',
                target: 'b'
            }
        }

    ]

    net.elements().remove(); // make sure evything is clean

    net.add(nodes);
    net.add(edges);

    net.reset() // render layout
}

CSS

#cy {
  width : 70vw;
  height: 50vw;
  position: absolute;
}

HTML

<head>
  <title>hello</title>
</head>

<body>
  <h1>Welcome to Meteor!b</h1>
  {{>graf}}
</body>

<template name="graf">
  <div id="cy"></div>
</template>
于 2016-01-17T18:38:20.227 回答