在 AngularJS 中搜索表单和 URL 参数
Search forms and URL parameters in AngularJS
我有一个搜索,有多个可选字段,我觉得我过去没有正确处理这个问题,想知道如何正确处理这个问题,以便在用户刷新页面时重新加载结果通过搜索表单。
我有一个表单,人们可以用来搜索客户,我的用户可以按类型、姓名、帐号进行搜索
类型是必填字段
名称和 帐号是可选字段。
我可以使用$routeProvider
来配置我的路由,如下所示:
.when('/clientSearch/:type/:accountNumber?/:name?', {
但是,如果帐号和姓名是可选的,我如何区分是否只传递了两者中的一个?某些表单具有多个可选的数字/字符串字段。
使用$location.search()
我可以设置 URL 参数,例如:
$location.search( {type: type, accountNumber: accountNumber, 'name': name} )
哪个是首选方法,来错了?
如何正确处理搜索表单,并在刷新页面时允许再次获取相同的结果?
通常使用查询参数。 在角度中,它们被称为search
参数:
请参阅 https://docs.angularjs.org/api/ng/service/$location
并像这样使用:
// http://example.com/#/some/path?foo=bar&baz=xoxo
// To get:
$location.search() // => {foo: 'bar', baz: 'xoxo'}
// To set:
$location.search('foo', 'yipee') // => {foo: 'yipee', baz: 'xoxo'}
对于您的问题:
哪个是首选方法,来错了?
首选方法肯定是使用查询/搜索参数
如何正确处理搜索表单,并在刷新页面时允许再次获取相同的结果?
获取参数并定义控制器中所需的任何内容。 如果需要可用于视图的参数,可以执行以下操作:
$scope.searchParams = $location.search()
相关文章:
- 通过Javascript将HTML中的电话号码与URL参数进行交换
- 如何使用Javascript从URL参数中自动填充文本字段
- 如何将Google Analytics配置为将URL参数作为单个页面进行跟踪
- 在url参数javascript中存储键值对列表
- backbone.js-映射标准url参数-使用多个参数
- 将URL参数传递给ui sref
- Javascript从字符串中剥离所有url参数
- Javascript/jQuery获取所有url参数并添加/更改一个参数
- 在页面加载完成之前,使用URL参数运行JavaScript
- 使用Javascript获取URL参数
- 如何在 JavaScript 中解析 URL 参数
- 主干.js将 url 参数传递给集合
- 谷歌应用脚本中的 UrlFetchApp.fetch 删除 url 参数
- 通过javascript将url参数传递到多个不同的href链接中
- 角度 1 - 获取当前 URL 参数
- 使用jquery获取url参数
- 在Javascript代码中插入URL参数
- Angular 2:HTTP Post Request,带有URL参数和正文类型参数
- 限制与AngularJS状态匹配的动态URL参数的最佳方式
- 如何根据URL参数生成包含JS内容的单个HTML文件