这是Rappid Toolkit的一个实例,它使用jointJS构建可视化工具和Web开发。 http://i.stack.imgur.com/6XSis.png
在此工具包中,您可以创建一个可以成为网站的图表。
我的问题如下:
在此图表的每个元素中,其下方都有一个框:x,y,width,height,angle。
我想更改此boxcontent的此信息并显示此元素的一些信息,但我必须添加我的代码片段的代码如下(var Halo是图中元素的var):
public class Day implements Comparator<Day> {
private String someProperty;
public String getSomeProperty() {
return someProperty;
}
public void setSomeProperty(String someProperty) {
this.someProperty = someProperty;
}
// Overriding the compare method to sort the age
public int compare(Day d1, Day d2){
return d1.getSomeProperty().compare(d2.getSomeProperty());
}
}
如果我尝试在其中添加我的代码以JSON格式访问我的当前元素信息我的完整代码是:
var halo = new joint.ui.Halo({
cellView: cellView,
boxContent: function(cellView) {
return"Here I want to display my box content info instead of x,y,width,height, angle";
}
}).render();
其中 wi_name 是我的元素的名称,但在第一行中我无法访问图表的特定元素。
var halo = new joint.ui.Halo({
cellView: cellView,
boxContent: function(cellView) {
// Drawing
var selectedObjectDataText = JSON.stringify(this.cellView.toJSON());
var selectedObjectDataJSON = JSON.parse(selectedObjectDataText);
return(selectedObjectDataJSON[0].wi_name);
}
}).render();
是否有任何全局方式来访问我的光环(我的图形元素),因为 this.cellView.toJSON()不起作用? 我尝试了 this.model.toJSON() this.cellView.model.toJSON()等没有结果
答案 0 :(得分:1)
请注意,JointJS links
和elements
是Backbone模型(linkView
和elementView
是主干视图)。
要使用get()
方法获取属性的当前值。
boxContent: function(cellView) {
return cellView.model.get('wi_name');
}
或者,您可以使用prop()
,它也可以返回模型的嵌套属性。
boxContent: function(cellView) {
return cellView.model.prop('wi_name');
}
答案 1 :(得分:0)
适用于var selectedObjectDataText = JSON.stringify(cellView.model.toJSON());
谢谢大家的支持。