云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

亚马逊云_消息队列activemq_多少钱

小七 141 0

亚马逊云_消息队列activemq_多少钱

这是我关于组件重用的博客系列的第二部分。这些是博客系列的内容

在上一篇博客中,我解释了如何将一个单独的应用程序合并到一个组件容器中,以便在父应用程序中使用。这在模块化架构中非常有用。

然而,虽然它很棒,但当我们可以实际使用它来处理相同的数据时,它开始变得非常酷。一个例子可以是一个自定义应用程序作为搜索帮助,然后可以检索一个结果集并将所选的选项传递回父应用程序。

目前我看到了5种不同的方法来做这件事,我将在这个博客中解释和显示所有这四种方法。

我完全知道,有做的和不做的上述选项,但这个博客只是给你看选项。

好的,开始吧!

第一个例子很简单,你可以在window object中存储对象,window object是浏览器上打开的窗口的表示。您可以简单地在这里存储变量,类似于通过写入窗口存储在"this"对象中。=。虽然它的使用非常简单,但通常不鼓励使用,云服务器服务好,因为中的任何函数都可以访问变量并可以更改它组件.js父应用程序的文件

窗口.windowText="Window";

在子应用程序中我的视图控制器的onInit函数中,我声明了一个本地json模型并获取文本并将其设置到模型中

在视图本身中,它是这样绑定的

记住部署以查看您的更改

这样做的一个缺点是,返利手游,如果您更改存储在窗口对象中的变量,它不会更改子应用程序中的绑定,留给你一个相当静态的选择。

下一个选择是使用EventBus,智能物联网,它在SAPUI5早期用于导航,但显然路由已经接管了这里。但它仍然偶尔用于处理事件。

Eventbus以订阅和发布的方式工作。您需要声明您要订阅的频道和事件,移动大数据,然后在您要在事件中发布数据时使用它们。

在子控制器的onInit函数中,我们添加了以下代码来处理事件

并且在视图本身中,我们创建了一个id为EventBusText的文本控件

我添加了一个输入字段在父应用程序和该字段的更改事件中,我们使用以下代码发布事件

即第二个示例。这允许您在应用程序之间共享数据。因此,当您在父应用程序中更改时,您会在子应用程序中看到它。

这里的缺点是您需要取消订阅事件,或者至少在eventbus中只使用subscribeOnce方法。

您显然还可以使用更基于模型的方法,并使用存储在SAPUI5核心中的jsonModel。这个模型可以通过访问核心在子应用程序中找到地址。

我们使用父应用程序中使用的现有jsonModel。下面的代码将数据添加到json模型中,云服务器试用,然后将其保存到core中。

现在在子应用程序onInit controller中,我们再次添加以下内容

在视图中,我们添加文本以查看新的更改。

这里的缺点是,您的模型存储在core中,可以通过其他应用程序再次访问,您需要处理该问题因此,

最后也是最好的选择是在声明componentContainer时使用ProposatedModel。正如文档所说

所以基本上我们可以将我们的模型从父应用程序转发到子应用程序。

在子应用程序中再次返回到onInit控制器,并在代码中添加以下内容。我在这里添加了超时,因为组件是在组件容器之前启动的,而且由于占用空间小,所以在加载时没有添加propogatedmodel。但是超时是固定的。

这是最终的结果,您应该得到

当您使用所提出的模型时,查看组件容器的生命周期是很重要的。阅读使用和嵌套组件

原因是,一旦您在容器内启动子应用程序,然后重新启动该应用程序,则您的子应用程序已经启动,并会给您带来问题。在我的下一个博客里有更多关于这个的内容。

我的下一个博客将是关于我们如何利用清单.json文件,从而删除父应用程序中的jquery依赖项组件.js我们在第一个博客上写的文件。此外,我还将展示一个小片段,说明如何处理组件重用一次,然后将在本地和云中工作。

您可以在这里找到源文件。

一如既往,请在uxkjaer上的twitter上联系我