我开发了一个角度的Web应用程序,在这个应用程序中,用户有一个配置文件,并且有一个仪表板,用户可以在其中添加最多4个元素/媒体,如图像,Youtube视频,地图等。
用户可以像这个:
一样更改布局/模板当用户将这些布局中的任何一个框悬停时,他们应该看到一个按钮,该按钮将打开一个模态,并让他们能够自定义该框内的内容,例如,如果它是一个图像,他们可以更改图像或者选择要显示的地图而不是图像。
还允许用户更改布局。每次更改时,都应将仪表板的数据发送到服务器。
我需要帮助的是看看角度(1.x)做这种事情的最佳方法是什么,因为我之前没有做过这样的事情!
如果你解释我怎么能这样做或者最好的方法是什么,或者如果你知道或者有任何分享笔,小提琴或箱子,我将不胜感激!
感谢。
答案 0 :(得分:3)
嗯,首先要理解的是,您需要考虑组合到一个应用程序中的单独组件。因此,在您的特定情况下,每个小方块都将成为某种类型的组件,例如image-component
,map-component
等。它应该从外部接收其功能所需的数据,不应该关心它来自哪里。然后,一旦您创建了这些小组件,您将需要一个wrapper
组件,它将包含这些小功能组件。这个包装器应该只关注较小组件的UI表示,如果它对盒子组件所需的数据一无所知,它会更好,尽管它可以充当数据的发送器。根据您的布局,您将在页面上拥有4个这样的包装器组件。您应该使用services
来获取每个组件所需的数据。所有与演示相关的逻辑,例如当前渲染了多少个盒子组件,都应放入控制器中。最后,您将拥有一个包含4个包装器组件的组件,这个顶级组件可以充当4个包装器组件之间的通信通道。如果将每个组件设计为接收一些数据的关闭机制,对其他组件一无所知(除非组件很复杂且包含子组件)并执行有限的功能,这样会更好。