Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sapui5 嵌入视图中的页面内容不完全可见_Sapui5 - Fatal编程技术网

Sapui5 嵌入视图中的页面内容不完全可见

Sapui5 嵌入视图中的页面内容不完全可见,sapui5,Sapui5,我正在尝试建立一个应用程序,其中有几个视图。第一个视图显示一个列表和一个“创建”按钮。单击“创建”按钮后,将显示第二个视图 我希望能够将子视图嵌入到第二个视图中 嵌入式视图: 我可以看到子视图的标题,但没有按钮 在尝试嵌入此子视图时,我是否做了一些“特殊”的事情?我们也为子视图使用了片段,它工作得很好,但我发现将其放在JSFIDLE中有点麻烦。它仍然尝试过,请参见下文。您不需要在片段周围有视图标记。在项目中,片段的名称应为xx.fragment.xml,并且不需要控制器。 然后,您应该能

我正在尝试建立一个应用程序,其中有几个视图。第一个视图显示一个列表和一个“创建”按钮。单击“创建”按钮后,将显示第二个视图

我希望能够将子视图嵌入到第二个视图中


嵌入式视图:


我可以看到子视图的标题,但没有按钮


在尝试嵌入此子视图时,我是否做了一些“特殊”的事情?

我们也为子视图使用了片段,它工作得很好,但我发现将其放在JSFIDLE中有点麻烦。它仍然尝试过,请参见下文。您不需要在片段周围有视图标记。在项目中,片段的名称应为xx.fragment.xml,并且不需要控制器。 然后,您应该能够将其作为xml直接包含在xml视图中

另请参见

我们也在子视图中使用了片段,它工作得很好,但我发现将其放在JSFIDLE中有点麻烦。它仍然尝试过,请参见下文。您不需要在片段周围有视图标记。在项目中,片段的名称应为xx.fragment.xml,并且不需要控制器。 然后,您应该能够将其作为xml直接包含在xml视图中

另请参见

如前所述,您可以使用对内容的“小部分”有利的片段。 另一种解决方案是在视图中包含一个具有内部页面的Shell组件,然后使用路由机制,以便将“子视图”的内容加载到此Shell页面:

在主视图上:

<Shell id="shellContainer" appWidthLimited="false">
    <App id="appContainer" backgroundOpacity="0"></App>
</Shell>
"targets": {...
"YourSubViewDestination": {
                "viewType": "XML",
                "viewName": "YourSubViewName",
                "controlAggregation": "pages",
                "controlId": "appContainer",
                "parent": "YourMainViewDestination"
            }

...}
this.getOwnerComponent().getRouter().navTo("YourSubViewDestination", {});
创建按钮操作:

<Shell id="shellContainer" appWidthLimited="false">
    <App id="appContainer" backgroundOpacity="0"></App>
</Shell>
"targets": {...
"YourSubViewDestination": {
                "viewType": "XML",
                "viewName": "YourSubViewName",
                "controlAggregation": "pages",
                "controlId": "appContainer",
                "parent": "YourMainViewDestination"
            }

...}
this.getOwnerComponent().getRouter().navTo("YourSubViewDestination", {});

您可能需要一些路由方面的帮助:

如前所述,您可以使用适合“小部分”内容的片段。 另一种解决方案是在视图中包含一个具有内部页面的Shell组件,然后使用路由机制,以便将“子视图”的内容加载到此Shell页面:

在主视图上:

<Shell id="shellContainer" appWidthLimited="false">
    <App id="appContainer" backgroundOpacity="0"></App>
</Shell>
"targets": {...
"YourSubViewDestination": {
                "viewType": "XML",
                "viewName": "YourSubViewName",
                "controlAggregation": "pages",
                "controlId": "appContainer",
                "parent": "YourMainViewDestination"
            }

...}
this.getOwnerComponent().getRouter().navTo("YourSubViewDestination", {});
创建按钮操作:

<Shell id="shellContainer" appWidthLimited="false">
    <App id="appContainer" backgroundOpacity="0"></App>
</Shell>
"targets": {...
"YourSubViewDestination": {
                "viewType": "XML",
                "viewName": "YourSubViewName",
                "controlAggregation": "pages",
                "controlId": "appContainer",
                "parent": "YourMainViewDestination"
            }

...}
this.getOwnerComponent().getRouter().navTo("YourSubViewDestination", {});

您可能需要一些路由方面的帮助:

您可以向我们展示您的控制器吗?您对控制器的问题向我发问以获取controller.js文件的代码。在那里,我看到了一个叫做“frag”的变量的一些逻辑。我觉得自己像个傻瓜。我不再犯这个错误了,但是,我看不到我的ID为“stuffButton”的附加按钮。这很奇怪,当我运行你的代码时,我真的可以看到它。我没有。我看到的只是标题。我不认为你有一个JSFIDLE,你已经试过了吗?我能看到吗?这个问题被反复问了很多次,我想是时候最终解决它了。这有用吗?-->-按照链接中的建议,尝试将
height=“100%”
添加到父视图和嵌入视图中。此外,您的根视图可能缺少根控件(
),以便将来的读者可以重现该问题。您可以向我们展示您的控制器吗?您对控制器提出的问题让我去获取controller.js文件的代码。在这里,我看到了一个名为“frag”的变量的一些逻辑。我觉得自己像个傻瓜。我不再出现此错误,但是,我没有看到ID为“stuffButton”的附加按钮。这很奇怪,当我运行你的代码时,我能看到它。真的。我看不到。我看到的只是标题。我想你没有一个JSFIDLE,你已经试过了,我看到了吗?这个问题被问了很多次,我想是时候最终解决它了。这有帮助吗?-->-如链接中所建议的,尝试添加
height=“100%”
到父视图和嵌入视图。此外,您的根视图可能缺少根控件(
),以便将来的读者可以重现该问题。