控制器和支持路由之间的角度保持选择
Angular keep selection between controllers and support routing
我有一个显示一组项的LIST
视图。在此视图中,用户可以选择项目。
然后我有一个DETAILS
视图,它显示了有关所选项目的详细信息。
应用程序从LIST
视图移动到DETAILS
视图以更改位置。所选项目作为URL参数传递(例如/cars/id=1,2,3)。
将id放在URL中可以让用户将DETAILS
视图的URL添加书签,并在再次打开添加书签的URL时查看元素。
DETAILS
视图有一个后退按钮,用户可以返回到LIST
视图。当用户返回到LIST
视图时,我希望以前选择的元素显示为已选择。
如何将所选项目从DETAILS
传递回LIST
?
我看到两个解决方案:
-
保持服务中的选择状态。当使用
DETAILS
视图URL打开应用程序时,控制器在服务中设置从URL获取的所选项目。 -
使用与从
LIST
移动到DETAILS
相同的机制:将所选项目作为参数放入URL中。然后LIST
控制器从URL中检索它。
哪种解决方案更好?
首先,我认为您的两种解决方案都可能有效。
1) 对用户进行页面重新加载敏感
2) 一般来说是好的,但要注意如果url 中的数据量增加
归根结底,这更关乎品味。。
是否希望用户将具有选定ID的列表页作为书签?如果没有,那么我想介绍第三种可能的解决方案
var parameters = [ id1, id2, id3 ];
// set in detail view
localStorage.setItem('params',JSON.stringify(parameters));
// to retrieve in list view
var selectedParameters = JSON.parse(localStorage.getItem('params'))
这样你就不必担心用户会刷新页面。。
祝你好运。。
相关文章:
- 控制器和支持路由之间的角度保持选择
- 选择一个支持ie8的javascript构建工具
- MVC4和日期选择器:“;0x800a01b6-JavaScript运行时错误:对象没有't支持属性或方法
- IE8或IE9-支持多文件选择上传,无需Flash和HTML5
- jQuery支持CSS4选择器吗
- 此api版本不支持onedrive文件选择器aadsts70001应用程序
- DatePicker 在完整视图中提供对象不支持属性或方法“日期选择器”,但不支持模态形式的属性或方法
- 浏览器对选择器 API 的支持
- “间歇”;jqLite不支持通过选择器查找元素"当使用RequireJS加载AngularJS时
- 谷歌地图支持从搜索框中只选择城市
- 键入电子邮件不'不支持选择范围
- Rangy-模块'包装选择'不支持
- Typeahead选择支持树状结构的列表
- jquery复选框树是否支持使用类选择器而不是Id进行程序扩展
- 选择2支持通过搜索框进行快速选项筛选
- jQuery:输入元素's类型不支持选择
- 浏览器问题:分支选择下拉菜单在IE 7或8中不支持
- 在UIWebView中检测单点,但仍然支持文本选择和链接
- 是否有一个支持文本选择的简约的PDF.js示例
- jQuery第n子选择器的替代品,支持类