如何在 angularjs 中使用 visjs 创建网络图或层次树?

How to create network graph or hierarchical tree using visjs in angularjs?

我需要一些帮助来使用 visjs in angularjs. I am working on this plunker to achieve something like this

创建网络图

我按照 AngularJS - visjs 中提到的步骤进行操作,但无法使其正常工作,因此我创建了一个 plunker(如上所示)以从社区获得帮助。

控制器代码。

var app = angular.module('app', ['ngVis']);

app.controller('MainCtrl', ['$scope', 'VisDataSet',

  function($scope, VisDataSet) {
      $scope.data = VisDataSet({
          "1": {
              "id": 1,
              "content": "<i class=\"fi-flag\"></i> item 1",
              "start": "2014-09-01T17:59:13.706Z",
              "className": "magenta",
              "type": "box"
          },
          "2": {
              "id": 2,
              "content": "<a href=\"http://visjs.org\" target=\"_blank\">visjs.org</a>",
              "start": "2014-09-02T17:59:13.706Z",
              "type": "box"
          },
          "3": {
              "id": 3,
              "content": "item 3",
              "start": "2014-08-29T17:59:13.706Z",
              "type": "box"
          },
          "4": {
              "id": 4,
              "content": "item 4",
              "start": "2014-09-01T17:59:13.706Z",
              "end": "2014-09-03T17:59:13.706Z",
              "type": "range"
          },
          "5": {
              "id": 5,
              "content": "item 5",
              "start": "2014-08-30T17:59:13.706Z",
              "type": "point"
          },
          "6": {
              "id": 6,
              "content": "item 6",
              "start": "2014-09-04T17:59:13.706Z",
              "type": "point"
          },
          "7": {
              "id": 7,
              "content": "<i class=\"fi-anchor\"></i> item 7",
              "start": "2014-08-28T17:59:13.706Z",
              "end": "2014-08-29T17:59:13.706Z",
              "type": "range",
              "className": "orange"
          }
      });
      $scope.options = {
          "align": "center",
          "autoResize": true,
          "editable": true,
          "selectable": true,
          "orientation": "bottom",
          "showCurrentTime": true,
          "showCustomTime": true,
          "showMajorLabels": true,
          "showMinorLabels": true
      };
  }
]);

请帮我解决这个plunker

中的问题

我看到了一些问题。首先,您将 css 文件作为脚本而不是样式表包含在内。所以使用这个:

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.3.0/vis.css">
<link rel="stylesheet" type="text/css" href="style.css">

其次,如果您查看 angular-vis.js,您会发现该指令实际上应该是 vis-timeline。所以我只是在 html:

中将其更改为
<vis-timeline data="data" options="options"></vis-timeline>

我删除了 events 属性,因为它没有在您的范围内定义,但我假设您可以查看 visjs 文档以了解那里应该有什么。

请参阅修订后的 plunker 了解整个修复。