我的Angular编码很生锈,因为我有一段时间没有做过,但是我想做的是获取从列表控制器返回的值的列表,并将它们注入到我的Response帖子中,并将其使用此列表以搜索存储库。
这是我到目前为止尝试过的-
1-使用$ scope.data {}初始化程序中的Guid:[]初始化列表数组
//Initailize
$scope.data = {
selection: null,
start: '',
end: '',
minDate: new Date(2017, 01, 01),
defaultStartDate: moment({ year: currentDate.getFullYear(), month: currentDate.getMonth(), day: currentDate.getDate() }),
defaultEndDate: moment({ year: currentDate.getFullYear(), month: currentDate.getMonth(), day: currentDate.getDate() + 1 }),
format: 'YYYY-MM-DD HH:mm:ss.SSS',
elasticUrl: '',
dnsHost: '',
messageTypes: [],
scrollId: '',
TID: '',
Guids: []
};
2-使用$ scope.Guids = data.Guids从搜索控制器返回我感兴趣的列表
var search = function () {
NProgress.start();
var ospLogsSearchParam = {
StartDate: $scope.data.start,
EndDate: $scope.data.end,
ElasticUrl: $scope.data.elasticUrl,
MessageTypes: $scope.data.messageTypes,
DnsHost: $scope.data.dnsHost,
TID: $scope.data.TID,
};
var queryString = $.param(ospLogsSearchParam);
$http.get("/api/search?" + queryString).success(function (data) {
$scope.isLoading = false;
$scope.total = data.Total;
$scope.took = "";
$scope.tookMins = "";
$scope.successCount = "";
$scope.errorCount = "";
$scope.tps = "";
$scope.Guids = data.Guids; (data list)
}).finally(function () {
NProgress.done();
});
}
3-将这个值(Guids:$ scope.data.Guids)注入到我要发送第二个搜索控制器的SearchParameter对象的Guids字段中。
function invokeParse() {
var ospLogsSearchParam = {
StartDate: $scope.data.start,
EndDate: $scope.data.end,
ElasticUrl: $scope.data.elasticUrl,
MessageTypes: $scope.data.messageTypes,
DnsHost: $scope.data.dnsHost,
TID: $scope.data.TID,
Guids: $scope.data.Guids (data trying to send to back end controller)
};
var parse = {
Logs: $scope.filteredItems,
DNSName: !$scope.data.dnsHost ? 'none' : $scope.data.dnsHost,
OspLogsSearchParams: ospLogsSearchParam
}
预期结果是后端搜索控制器将使用列表中的每个值作为where过滤器来执行搜索。
实际结果是没有使用搜索请求中的值填充导航列表。