JointjS:如何获取给定元素的属性?

时间:2014-07-22 08:36:55

标签: svg jointjs

我有一个元素定义为:

var m1 = new joint.shapes.devs.Model({
    position: { x: 100, y: 50 },
    size: { width: 190, height: 50 },
    inPorts: ['in'],
    outPorts: ['out'],
    attrs: {
        '.label': { text: 'Model','ref-x': .4, 'ref-y': .25 ,fill: '#fefefe',
            'font-size': 14,
            'font-weight': 'bold', 
            'font-variant': 'small-caps' },
        rect: { fill: '#fefefe'},
        '.inPorts circle': { r:5 ,fill: '#16A085' ,magnet: 'passive', type: 'input'},
        '.outPorts circle': { r:5, fill: '#E74C3C',magnet: 'passive',type: 'output' },
    }

问题是我怎样才能获得' .label'属性? 例如,我需要获得文本" Model",我该怎么办? 如果我想要填写' attr of' rect' ,我可以简单地使用m1.get(' attrs')。rect.fill。

但我不知道如何获得' .label' ATTR。

2 个答案:

答案 0 :(得分:4)

使用attr()方法设置属性并将其恢复:

m1.attr('.label/text') // 'Model'
m1.attr('.label/text', 'New Model')
m1.attr('.label/text') // 'New Model'

'/'是嵌套attrs对象的路径分隔符。

答案 1 :(得分:0)

"angularCompilerOptions": {
  "debug": true
}