ui5 加载页面 怎么可以不去执行onInit
时间: 2023-02-16 21:47:02 浏览: 64
可以在路由中配置不执行 onInit 的参数。例如,在路由中添加 "skipOnInit: true" 即可在加载页面时不执行 onInit 方法。
另外,我们也可以在View的controller里面在onBeforeRendering里面去掉onInit的调用.
相关问题
ui5 怎么跳过onInit
可以在 UI5 控制器的构造函数中调用 this.skipOnInit() 方法来跳过 onInit 方法。
例如:
```
constructor() {
super();
this.skipOnInit();
}
```
注意:这将导致 onInit 方法不被调用,因此请确保自己在其他地方完成了初始化。
ui5页面内嵌另一个页面
### 回答1:
在 UI5 页面中嵌入另一个页面,可以使用 `sap.ui.core.ComponentContainer` 组件。
首先,在您的 UI5 页面中添加一个 `sap.ui.core.ComponentContainer` 组件,然后将要嵌入的页面的组件名称作为参数传递给该组件的 `name` 属性。
例如:
```xml
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
xmlns:core="sap.ui.core"
xmlns="sap.m">
<core:ComponentContainer name="my.embedded.page" />
</mvc:View>
```
在上面的代码中,我们将会嵌入一个名为 `my.embedded.page` 的组件。
注意:在嵌入的页面中,您应该使用 `sap.ui.core.mvc.XMLView` 或 `sap.ui.core.mvc.JSView` 创建视图,而不是使用 `sap.ui.core.mvc.View`。这是因为,当您在嵌入的页面中使用 `sap.ui.core.mvc.View` 创建视图时,这个视图只会被加载一次,而不会随着组件实例的重新创建而重新加载。
### 回答2:
在UI5中,可以使用iframe元素将一个页面嵌套到另一个页面中。通过在UI5应用程序的视图文件中添加一个iframe元素,可以实现页面内嵌的效果。
首先,在视图文件的XML视图中添加一个iframe元素,设置它的src属性为要嵌套的页面的URL。例如:
```xml
<core:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc">
<Page title="UI5页面内嵌另一个页面">
<content>
<iframe src="https://www.example.com" width="100%" height="500px"></iframe>
</content>
</Page>
</core:View>
```
在上面的示例中,iframe元素的src属性设置为"https://www.example.com",并且设置了宽度和高度。根据需要,可以调整这些属性的值。
当应用程序运行时,页面将显示嵌套的页面。用户可以在UI5应用程序中直接浏览和与嵌套的页面进行交互。
需要注意的是,由于浏览器的安全策略限制,一些网站可能不允许被嵌入到其他网站中,这可能导致嵌套页面无法显示。在这种情况下,你可以尝试使用其他浏览器对嵌套网页进行访问,或者联系嵌套页面的所有者以了解其嵌入限制。
### 回答3:
在UI5中,我们可以通过使用IFrame控件来在一个页面中嵌入另一个页面。IFrame控件允许我们将一个外部网页嵌入到当前页面中的一个独立的窗口中。
要在UI5页面内嵌另一个页面,我们首先需要在页面的XML视图中添加IFrame控件。例如:
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m"
controllerName="myController">
<Panel height="100%">
<content>
<IFrame id="iframeControl" width="100%" height="100%" src="https://www.example.com"></IFrame>
</content>
</Panel>
</mvc:View>
在上面的代码中,我们在一个Panel控件中添加了一个IFrame控件,并在src属性中指定了要嵌入的另一个页面的URL。
接下来,我们需要在相关的控制器中访问IFrame控件并设置要嵌入的页面的URL。我们可以通过调用IFrame控件的setSrc方法来实现这一点,例如:
sap.ui.define([
"sap/ui/core/mvc/Controller"
], function(Controller) {
"use strict";
return Controller.extend("myController", {
onInit: function() {
var oIFrame = this.byId("iframeControl");
oIFrame.setSrc("https://www.example.com");
}
});
});
以上代码演示了如何在控制器的onInit方法中获取IFrame控件的引用,并使用setSrc方法将要嵌入的页面的URL设置为"https://www.example.com"。
当我们运行应用程序时,UI5页面将会包含一个高度为100%的Panel控件,在该Panel控件中用IFrame控件嵌入了另一个页面。用户将能够在UI5应用程序中直接访问并与嵌入的页面进行交互。