我无法访问我当前的元素

I can't access my current element

这是 Rappid Toolkit 的一个实例,它使用 jointJS 来构建用于 Web 开发的可视化工具。 http://i.stack.imgur.com/6XSis.png

在此工具包中,您可以制作可以成为网站的图表。

我的问题如下:

此图的每个元素下方都有一个框 with:x,y,width,height,angle。

我想更改此框内容的此信息并显示此元素的一些信息,但我必须在其中添加代码段的代码如下(var Halo 是图表中我的元素的 var):

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();    

如果我尝试在其中添加我的代码以以 JSON 格式访问我当前的元素信息,我的完整代码是:

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();    

其中 wi_name 是我的元素的名称,但在第一行我无法访问图形的特定元素。

var selectedObjectDataText = JSON.stringify(this.cellView.toJSON()); 

由于 this.cellView.toJSON() 不起作用,是否有任何全局方式来访问我的光环(我的图形元素)? 我尝试了 this.model.toJSON() this.cellView.model.toJSON() 等没有结果

var selectedObjectDataText = JSON.stringify(cellView.model.toJSON());

有效

感谢大家的支持。

请注意,JointJS linkselements 是 Backbone 模型 linkViewelementView 是 Backbone 视图).

要获取属性的当前值,请使用 get() 方法。

boxContent: function(cellView) {
    return cellView.model.get('wi_name');
}

或者您可以使用 prop(),这也可以 return 模型的嵌套属性。

boxContent: function(cellView) {
    return cellView.model.prop('wi_name');
}