我正在尝试使用vue和axios加载cytoscape图。无论如何不能配置cytoscape所以我首先尝试使用axios和vue。范围仍有问题,但我不知道在哪里?我应该改变什么?如何正确设置vue和axios。
修改
所以在设置this.nodes之后我想在cytoscape.js中绘制一个grapg,但我总是得到错误:
- 样式属性text-outline-color:
无效
- 不为没有相应数据的元素分配映射(例如,对于具有数据字段6b899f09-359e-424d-9461-d71c8c3fcd3b
的属性text-outline-color
的ele faveColor
;尝试使用[faveColor]
选择器将范围限制为faveColor
已定义
-Uncaught TypeError:无法设置属性'映射'为null
我认为这是阵列问题,但我无法弄清楚如何正确设置阵列,这样才能正常工作。
这是代码:
draw: function(){
this.cy = cytoscape({
container: document.getElementById('cy'),
layout: {
name: this.main_layout,
padding: 10
},
style: cytoscape.stylesheet()
.selector('node')
.css({
'shape': 'data(faveShape)',
'width': 'mapData(weight, 40, 80, 20, 60)',
'content': 'data(name)',
'text-valign': 'center',
'text-outline-width': 2,
'text-outline-color': 'data(faveColor)',
'background-color': 'data(faveColor)',
'color': '#fff'
})
.selector(':selected')
.css({
'border-width': 3,
'border-color': '#333'
})
.selector('edge')
.css({
'curve-style': 'bezier',
'opacity': 0.666,
'width': 'mapData(strength, 70, 100, 2, 6)',
'target-arrow-shape': 'triangle',
'source-arrow-shape': 'circle',
'line-color': 'data(faveColor)',
'source-arrow-color': 'data(faveColor)',
'target-arrow-color': 'data(faveColor)'
})
.selector('edge.questionable')
.css({
'line-style': 'dotted',
'target-arrow-shape': 'diamond'
})
.selector('.faded')
.css({
'opacity': 0.25,
'text-opacity': 0
}),
elements: {
nodes: this.nodes
},
ready: function(){
window.cy = this;
}
});
答案 0 :(得分:0)
我认为response.data
是一个数组或对象ans vm.projekt
null
没有注册vue-getter。所以请尝试做
Vue.set(vm, 'projekt', response.data)
每个vue实例中都有一个$ set(this)
而不是
vm.projekt = response.data
一般情况下,我会建议你将ajax-datas推送到反应式数组中,效果非常好。