完全不同的手机视图
Completely different view for mobile
我有一个SPA,它需要根据客户端设备以两种完全不同的方式显示我的应用程序。
其中一张展示了我的房子的平面图,上面有灯泡图标,可以打开/关闭我的灯(稍后会有更多信息),使用等轴投影在画布上渲染。
另一个(主要用于移动设备)在更简单的列表/汉堡菜单中显示相同的灯泡图标和名称。
我不想将任何一种设备类型限制为我想要的视图,但根据设备/所选视图完全替换组件的最佳方式是什么?
我应该创建两个组件并将共享逻辑转移到服务/类吗?或者我应该隐藏不需要的组件(我不想浪费资源渲染画布或运行渲染它所需的逻辑)
如果使用*ngIf
或类似的表达式,则如果表达式为false,则不会呈现任何内容,而[hidden]="..."
会导致呈现HTML。
无论如何,将逻辑转移到服务是一种很好的做法。
您还可以根据视图大小加载不同的路由器配置另请参阅New Angular2路由器配置。通过这种方式,可以为不同的视图大小加载完全不同的构件。
(在下一个版本中,这似乎会得到改进,例如,仅为组件加载新的子路由,还讨论了提供API以允许添加/删除单个路由)
相关文章:
- 如何使用javascript从主svg对象动态创建svg视图框
- 正在使用$location.path(.)路由ng视图
- angular.js没有'无法在PhoneGap中处理视图标记
- 如何包含特定于每个视图angularjs的javascript文件
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- Ajax Live搜索发布到Laravel视图
- backbone.js无法渲染视图
- 根据某些条件在视图之间切换
- ng视图外的链接重定向到ng视图内的页面
- 如何在Jquery中发布后将值从视图返回到控制器
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 使用Scala Play Framework视图中的键检索映射值
- 从手机中选择多个图像'使用phonegap的多媒体资料
- FF视图源|脚本高亮显示为红色
- 如何使bxslider仅在移动视图中处于活动状态
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- jQuery 手机间隙:- 列表视图中的自动分隔器是否正常工作
- 当应用bootstrap时,选择下拉菜单在手机和ipad视图中不起作用
- 完全不同的手机视图