使用GoJS initialAutoscale Diagram属性时遇到问题 - 它是如何工作的?

时间:2017-01-18 23:07:57

标签: javascript angularjs gojs

我无法通过在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不会感到高兴,或者为解决方法提出任何其他想法。

我很乐意发布更多代码,因为它很有帮助。谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

Diagram.initialAutoScale 确定替换 Diagram.model 后图表的比例。例如,如果您已设置initialAutoScale: go.Diagram.Uniform,那么在使用新模型替换 Diagram.model 之后,最终将设置 Diagram.scale 这样就可以在视口中看到整个 Diagram.documentBounds

如果您不替换图表模型,则此属性无效。

Diagram.autoScale 设置为go.Diagram.Uniform基本上会在文档边界或视口大小发生更改时调用 Diagram.zoomToFit 或缩放或滚动条可见性或影响所显示内容和位置的任何其他状态。

有关详细讨论,请参阅http://gojs.net/latest/intro/initialView.html