ZK框架 - 没有包含的内容

时间:2017-08-23 09:40:42

标签: zk

我们有一个标签栏,其tabpanels使用include来包含内容:

    <tabpanels height="100%">
        <tabpanel>
            <include src="@load(vm.myTabUrl)"  />
        </tabpanel>

        ...

    </tabpanels>

生产中偶尔会显示包含的内容。这种行为似乎是随机的,我们不知道如何复制它。

如果发生这种情况,生成的html包含<div>的包含,其中只包含另一个空<div>z-tmp

generated html

ZK在渲染时不显示任何错误,javascript控制台也没有。此外,没有失败的http(zkau)请求。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  • ZK Client Engine负责在客户端将ZUL转换为HTML。
  • 与HTML相比,ZK具有巨大的内置组件支持。但客户端显示的内容将是HTML本身。

我们在ZUL中设计了一个页面,并将其转换为HTML。 ZUL组件的数量比HTML组件大,但最后我们得到的HTML组件只是在结构上有一些变化。

如何将ZUL页面重建为HTML页面?

  1. ZUL页面主要转换为Div,输入,锚点 例如:Groupbox (ZUL) - &gt;多个Div(HTML)
  2. 转换后动态生成DOM组件的ID,如z_p5,z_g3和ID 即在ZUL页面中给出,可以在组件的AID处添加。
  3. 可以允许DOM组件分隔多个样式 按空格。
  4. 窗口小部件名称作为z-widget添加到组件样式中 使用ZUL页面中提到的常规样式。 ZK组件名称作为z-widget添加到生成的HTML DOM组件的样式属性中。正如您已经看到的那样,z-include在生成后的上述屏幕截图中的Div元素的style属性中添加 页面。
  5. 来到实际问题,

    1. 打开此页面的ViewModel的AfterCompose方法。
    2. 直接使用另一个ZUL页面路径分配myTabUrl并通知它 从下面的postNotifyChange方法。
    3. BindUtils.postNotifyChange(null,null,ClassName.this,“myTabUrl”);

      可能是未正确分配变量或可能错过通知变量导致此问题。如果可能,请在此处发布ZUL和VM代码,如果在此试用后问题仍未解决。