我无法通过在Diagram对象上设置initialAutoScale属性来最初正确缩放GoJS Diagram:
myDiagram.initialAutoScale = go.Diagram.Uniform;
但是,我可以像这样设置固定的自动缩放值,虽然它不是我想要的行为(初始化后不允许按住Ctrl键滚动缩放):
myDiagram.autoScale = go.Diagram.Uniform;
不可否认,我正在从Angular控制器控制和管理GoJs Diagram,据我所知,这不是推荐使用GojeS和Angular的方法。也就是说,我正在使用一个比我目前正在进行的工作要大得多的Web应用程序的短时间表,如果我能在控制器构造中使它工作,那么它对项目来说是最好的。
考虑到这一点,我希望得到一个修复建议,但也非常感谢有关为什么autoScale可以在initialAutoScale没有工作时的反馈,initialAutoScale如何工作以及为什么特别是它可能是对我的Angular控制器实现感到愤怒,为什么initialAutoScale不会感到高兴,或者为解决方法提出任何其他想法。
我很乐意发布更多代码,因为它很有帮助。谢谢你的帮助!
答案 0 :(得分:2)
Diagram.initialAutoScale 确定替换 Diagram.model 后图表的比例。例如,如果您已设置initialAutoScale: go.Diagram.Uniform
,那么在使用新模型替换 Diagram.model 之后,最终将设置 Diagram.scale 这样就可以在视口中看到整个 Diagram.documentBounds 。
如果您不替换图表模型,则此属性无效。
将 Diagram.autoScale 设置为go.Diagram.Uniform
基本上会在文档边界或视口大小发生更改时调用 Diagram.zoomToFit 或缩放或滚动条可见性或影响所显示内容和位置的任何其他状态。