2017-09-23 115 views
1

假设我想创建作为跟随在角与规定的页面:
1)部分中的每一个将不会以任何其他页面
2被重新使用)如果API之一整个页面将返回空白并显示一条错误消息内容或分成部件

我应该选择哪种方法来实现?
一个)将每个部分插入部件(每个部件上的单独的请求),并在页面

b)中把一切都为单页使用组件(与并行http请求)

或任何其它更喜欢方法?

enter image description here

+0

'每个部分都不会在任何其他页面重复使用'假设您到达 – misha130

+0

@ misha130这是补充吗? – stackdisplay

回答

1

由于

1)的每一个部分不会在任何其他页面被重用
2)如果API之一 失败,整个页面将返回空白带单个错误 消息

最好的方式做这将是

把一切都变成单页(与并行http请求)

你避免的情况下,所有的亲子组件通信的任何请求的这样失败,你可以在一个地方处理整个页面的状态。而且由于请求将以并行方式发送,因此这样做不会影响页面的加载时间。

注意:如果每个组件都有很多复杂的逻辑/计算,那么仍然推荐创建几个子组件的唯一场景。在这种情况下,最好是分割逻辑,并将它的每一块只放在需要的地方(而不是拥有数百行代码的页面)。

+1

如果他们做逻辑上不同的事情,他们应该分开,不管代码的大小如何。使用rxjs和共享服务模式通信不是一个难以解决的问题,如果一个http调用失败,整个页面也不会失败。 – bryan60

+1

感谢您的评论@ bryan60。这个问题是在Ionic的背景下做出的,因此所有这些组件都是同一页面的一部分,因此将它们包括在同一页面上并不一定是一种坏方法。因此,由于我们处于移动应用程序(资源可能有限)的环境中,因此添加额外的服务和一些仅用于管理通信的rxjs订阅似乎并不是执行此操作的最佳方式,如果这些组件不起作用在任何其他页面中重用。但是,这两种方式都可以正常工作。 – sebaferreras