我有一个包含订单列表和搜索按钮的页面,我希望URL更改取决于我使用$ location.search的搜索结果,它可以工作,但我不知道如何在我的app.js中实现它在页面URL中,我想将其添加到URL中,因此当用户单击后退按钮时,他会再次获取过滤列表
这是我的控制器
function openPage (key,value,key1,value1) {
$location.search(key, value);
var params = $location.search();
}
这是我的app.js并且无效
.state('qa-dashboard.orders-list', {
url: "/orders-list/?params",
module: "private",
templateUrl: "app/qa-dashboard/orders/orders-list/orders-list.html",
controller: 'OrdersListCtrl',
我的控制器具有搜索功能,当用户进入页面时,我首先调用此函数
function searchOrdersValue(){
console.log(QaDashboardService.searchValue);
if ( QaDashboardService.searchValue == 'pendeing'|| QaDashboardService.searchValue == 'problem'){
model.status =QaDashboardService.searchValue;
model.searchOrders();
}
else if (QaDashboardService.searchValue !== ''){
if (isStringNumber(QaDashboardService.searchValue)){
console.log('enter number')
model.filterByNumber =QaDashboardService.searchValue;
model.searchOrders()
}
else {
model.startFrom= QaDashboardService.searchValue;
model.startTo=QaDashboardService.searchValue1;
model.searchOrders()
}
}
if (model.status !==''){
QaDashboardService.searchValue= ($stateParams.status) ? $stateParams.status: '';
}
else if (model.startFrom !== ''){
QaDashboardService.searchValue= ($stateParams.startFrom) ? $stateParams.startFrom: '';
QaDashboardService.searchValue1= ($stateParams.startTo) ? $stateParams.startTo: '';
}
else {
QaDashboardService.searchValue= ($stateParams.filterByNumber) ? $stateParams.filterByNumber: '';
}
答案 0 :(得分:0)
您可以使用$ state.go(“您的州名”)并将参数传递给该页面,如下所示:
function openPage (key,value,key1,value1) {
$location.search(key, value);
var params = $location.search();
$state.go('qa-dashboard.orders-list',{'params':params});
}
在OrdersListCtrl上使用$ stateParams检索它。
答案 1 :(得分:0)
您好,您可以使用$ stateParams服务。您可以获得para值表单并过滤您的订单列表。
测试链接:http://localhost/qa-dashboard.orders-list?orderId=1&orderName=test
不要将此代码添加到app.js,它应该在控制器中。 你可以使用这段代码得到para值。
$ stateParams必须在控制器中添加依赖项。
SELECT A.Something, B.Something, C.Something
INTO #TempTable
FROM TableA A
INNER JOIN TableB B
INNER JOIN TableC C ON C.FK = B.PK
ON A.JoinField = B.ID
现在,您可以使用Params过滤订单列表。
App.js代码应为。
var id = $stateParams.orderId;
var name = $stateParams.orderName;