我正在构建一个带有角度的应用程序。UX设计师给我的设计并不是一个传统的响应网站,因为组件之间的相互折叠取决于窗口的大小。大屏幕和小屏幕基本上都有一个完整的布局。有5-10个小组件/指令需要从DOM中添加或删除,然后站点的2-4个大型组件应该移到一边或另一边,或者完全删除。这就引出了我的问题。处理这种情况的正确方法是什么?我看过@HostListener以编程方式删除或添加项,具体取决于调整事件的大小。我还考虑过使用媒体查询,并根据屏幕大小简单地隐藏元素。我很想走主机侦听器的路线,因为隐藏一堆东西或者用媒体查询来显示它似乎很麻烦。你认为如何?解决这个问题的最好办法是什么?
发布于 2018-05-03 11:55:08
在我看来,CSS是最简单的解决方案。只需使用媒体调用或使用类似于带内置类(如.hide-sm等)的助推工具即可。
下面是css方法和hostlistener方法的链接(由this answer提供):https://stackblitz.com/edit/angular-rfttks
如果您愿意,可以使用@HostListeners和*ngIf语句,但是对于相同的基本功能来说,这似乎是一项额外的工作。我也不相信它会有任何真正的好处隐藏它通过css。
另一件要记住的事是为什么。正如我们在注释中所讨论的,一些选项有内存和网络含义。另一种可能是根据屏幕大小重新设计组件的样式。
发布于 2018-05-03 12:54:10
取决于您想要什么: 1)删除:使用*ngIf 2)隐藏: css ->使用不透明度或可见性
https://stackoverflow.com/questions/50154462
复制相似问题