2016-08-31 6 views
0

Это экземпляр Rappid Toolkit, который использует jointJS для создания визуальных инструментов для веб-разработки. http://i.stack.imgur.com/6XSis.pngЯ не могу получить доступ к текущему элементу

В этом наборе инструментов вы можете составить график, который может стать веб-сайтом.

Моя проблема заключается в следующем:

В каждом отдельном элементе этого графа есть окно под ним с: X, Y, шириной, высотой, углом.

Я хочу изменить эту информацию этого содержимого окна и отобразить некоторую информацию из этого элемента, но код, в котором я должен добавить свой фрагмент, следующий (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() и т.д. без результата

ответ

0

Он работал var selectedObjectDataText = JSON.stringify(cellView.model.toJSON());

Спасибо всем за поддержку.

1

Обратите внимание, что JointJS links и elements являются Магистральные Модели (linkView и elementView являются Магистральные просмотров).

Чтобы получить текущее значение атрибута, используйте метод get().

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

В качестве альтернативы вы можете использовать prop(), которые могут возвращать также вложенные свойства модели.

boxContent: function(cellView) { 
    return cellView.model.prop('wi_name'); 
} 
Смежные вопросы