[question] Options在X6的interface中是什么意思呢,有什么功能? #4403
Answered
by
resetsix
liaodalin19903
asked this question in
Q&A
-
Beta Was this translation helpful? Give feedback.
Answered by
resetsix
Sep 10, 2024
Replies: 1 comment 2 replies
-
类似于 Java 中的「接口」 |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
我尝试用我自己粗略的理解来解释(也有可能不正确)。
你在很多地方看见的
Options
其实都是各自独立的入参配置,例如 node 有自己的 Options,edge 有自己的 Options,只是统一叫「Options」这个命名而已。从你给出的链接来举例,NodeView 和 EdgeView 命名空间分别对应 node 和 edge 的类型声明,各自都声明了一个 Options 来继承CellView.Options内的所有类型。而Cell是什么呢?
也就是说Options并没有拓展任何类型,它也可以理解为父类型的别名(使用 interface 的原因是interface 可以继承和拓展,而 type 更适合联合类型不具备继承和拓展的特性。)
点击展开/关闭
再看下图的 Options,它继承了ToolsView.ToolItem.Options,并且拓展了自己的类型,而它是 Boundary(边界)的类型。
点击展开/关闭
所以不必要在意 Options 是什么,调用的 node、edge、graph api 就是 Options 的内容(来自于父类继承和自身拓展)。
感觉还是没有讲清楚。