AngularJS查询参数
AngularJS query parameters
我有一个使用UI路由器的小搜索应用程序,看起来像这样:
'use strict';
angular.module('searchApp.routes', ['ui.router'])
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'home/home.html',
controller: 'SearchCtrl'})
.state('search', {
templateUrl: 'search/search.html',
url: '/search?q',
controller: 'SearchCtrl'
});
$urlRouterProvider.otherwise('/home');
}]);
所以你可以看到两(2)个状态,两(2)个模板和一个(1)个控制器。不正常工作的是,从主页状态到搜索状态,搜索功能需要2次提交才能显示结果,如果用户想要输入不同的查询,搜索状态也需要同样的提交。
查询按要求显示在url中,但随后需要另一次提交才能显示结果…?
我在SearchCtrl
$stateParams
$scope.searchTerms = $stateParams.q || '';
其中searchTerms是我在搜索表单上的ng模型。
我有$state.go()
设置像这样在我的SearchCtrl
在搜索功能
$state.go('search', {q: $scope.searchTerms});
我错过了什么和/或做错了什么?
更改url: '/search?q',到url: '/search/:q',并尝试从$stateParams.q中获取值
.state('search', {
templateUrl: 'search/search.html',
url: '/search/:q',
controller: 'SearchCtrl'
相关文章:
- 从查询字符串参数推断出正确的数据类型
- 如何将参数赋予作为查询参数的参数值给定的函数
- 有没有办法用routerLink/router.navigation附加查询/路由参数
- 如何在mysql查询(NODE.js)中重复使用一个参数
- 具有可选'/'s和查询参数
- 使用useMasterKey参数分析每个服务器查询
- 如果没有Ember中的控制器,我如何更改查询参数
- 如何编码&在不是't是查询参数的一部分
- 防止注射的参数?够了吗?以及应该在每个查询中使用它
- 无法使我的文本参数与我的查询一起工作
- iron路由器将参数添加到字符串中,并添加一个查询
- 如何在JavaScript中传递查询参数和重定向
- React 路由器和任意查询参数:页面在加载时无意中刷新
- 正在使用字段参数查询FB Graph API提要
- 网址或 cookie 中的动态值和参数查询,如何
- 如何使用谷歌浏览器自定义搜索引擎进行多参数查询
- 通过注入器获取url参数查询
- 谷歌自定义搜索引擎多参数查询
- 如何用优先级排序和浅参数查询Firebase数据库
- 通过参数查询Couchbase视图