致力于制作自定义 IVisual 实现;推荐的模式包括一个转换器方法,它将数据 View 转换为视觉对象自己的 View 模型。我很好奇为什么转换器被声明为公共(public)而不是私有(private)。
在 Hello World 示例中,它是 coded here ,和explained here .
public static converter(dataView: DataView): HelloViewModel {
...
}
在代码中,converter似乎只能在类本身内部访问,所以它自然是一个私有(private)方法。此外,使其公开还需要导出其类型 HelloViewModel,该类型似乎也只在内部使用。
可能的答案:有一些内置视觉效果附带了自己的测试类,例如treemap.ts的treemapTests.ts。这些类还测试转换器方法的功能,这是我看到转换器从其类外部调用的唯一地方。
这就是转换器方法被公开的全部原因吗?或者是否有计划让它们成为 future IVisual 界面的正式一部分,或者还有其他原因吗?
最佳答案
好问题:)没有理由。最初有人讨论更改更新选项以包含视觉对象的虚拟机而不是数据 View 。 Power BI 将使用公共(public)转换器方法来传递正确的虚拟机。这样,其他托管 Power Bi Visuals 的网站就不需要对 dateview 有任何依赖。但我认为我们不会走那条路。
关于powerbi - 为什么 Power BI 视觉对象的转换器方法是公共(public)的而不是私有(private)的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33924720/