Skip to content

[question] Options在X6的interface中是什么意思呢,有什么功能? #4403

Answered by resetsix
liaodalin19903 asked this question in Q&A
Discussion options

You must be logged in to vote

您好,指的是Options。

我尝试用我自己粗略的理解来解释(也有可能不正确)。

你在很多地方看见的Options其实都是各自独立的入参配置,例如 node 有自己的 Options,edge 有自己的 Options,只是统一叫「Options」这个命名而已。

从你给出的链接来举例,NodeView 和 EdgeView 命名空间分别对应 node 和 edge 的类型声明,各自都声明了一个 Options 来继承CellView.Options内的所有类型。而Cell是什么呢?

Cell 是 NodeEdge 的基类,包含节点和边的通用属性和方法定义,如属性样式、可见性、业务数据等,并且在实例化、样式定制、默认选项、自定义选项等方面具有相同的行为。

也就是说Options并没有拓展任何类型,它也可以理解为父类型的别名(使用 interface 的原因是interface 可以继承和拓展,而 type 更适合联合类型不具备继承和拓展的特性。)

点击展开/关闭

再看下图的 Options,它继承了ToolsView.ToolItem.Options,并且拓展了自己的类型,而它是 Boundary(边界)的类型。

boundary通常指的是一个图形元素(如节点或边)的外部轮廓或边界框。

点击展开/关闭

所以不必要在意 Options 是什么,调用的 node、edge、graph api 就是 Options 的内容(来自于父类继承和自身拓展)。

感觉还是没有讲清楚。

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@liaodalin19903
Comment options

@resetsix
Comment options

Answer selected by liaodalin19903
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants