1)我正在使用JointJS图表库。我想在使用inPort
时更改特定joint.shapes.devs
的css。
为了将sourcePort链接到我正在使用的目标source: { id: source.id, selector: source.getPortSelector(sourcePort)}
它为我提供了准确的源端口,但是在知道它是我的源连接器之后如何在该特定端口上应用CSS?有办法吗?
2)如果标签的宽度比元素的宽度长,我们可以自动在标签内放入/包裹标签吗?我正在使用joint.shapes.devs.Atomic
元素。
我遇到了foreignobject
,但不知道如何使用它?
谁能给它一些启示?
最佳答案
1)
myShape.attr('[port="a"]/fill', 'blue')
其中,斜杠前的第一个参数的第一部分是指向端口圆SVG元素的CSS选择器,第二部分是要在该元素上设置的SVG属性,第二个参数是要为该属性设置的值。做同一件事的另一种语法是:
myShape.attr({ '[port="a"]': { fill: 'blue' } })
有关详细信息,请参见
attr()
方法参考:http://jointjs.com/api#joint.dia.Element:attr。2)
joint.shapes.devs.Atomic
形状不会自动执行此操作。您将必须创建自己的形状,然后通过foreighObject
或在JavaScript中以编程的方式进行。作为使用foreignObject
的参考,请参阅此文件中定义的joint.shapes.basic.TextBlock
形状:https://github.com/DavidDurman/joint/blob/master/plugins/joint.shapes.basic.js。关于javascript - jointjs中特定样式的端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22069466/