1

在编写“使用 Moqui 制作应用程序”一书中的教程时,在“尝试子内容”下的第 1 部分中,我的 tutorial.xml 屏幕如下所示:

<screen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://moqui.org/xsd/xml-screen-1.4.xsd"
    require-authentication="false" include-child-content="true">
  <widgets>
    <label type="h1" text="Hello world!"/>
    <subscreens-active/> 
  </widgets>
</screen>

位于 url localhost:8080/apps/tutorial/hello.html 的子屏幕按预期工作。当我使用 url localhost:8080/apps/tutorial 转到父屏幕时,我的父屏幕在 hello world 消息之后有一条错误消息,如下所示:

你好世界!尝试在屏幕 [component://tutorial/screen/tutorial.xml] 中渲染子屏幕,但没有 subscreens.@default-item,并且屏幕路径 [[apps, tutorial]] 中没有更多有效的子屏幕名称

这是预期的反应还是我犯了一些错误?我认为,父屏幕不应显示此错误消息。

4

1 回答 1

1

教程代码已在本书的最新版本 (0.94) 中更新以解决此问题,可从 moqui.org 下载。仍然需要对 Tutorial.html 页面(或者实际上是用于生成该页面的 cwiki 文件)进行类似的更改,即该页面尚未在 moqui.org 网站上更新。

无论如何,这是一个很好的例子,说明在没有指定默认值或在 URL 中放置子屏幕或子内容的完整路径时使用子屏幕或子内容时会发生什么。

于 2014-08-14T05:06:51.047 回答