如何在 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 了解整个修复。
我需要一些帮助来使用 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 了解整个修复。