Мое кодирование на Angular ржавое, так как я давно этого не делал, но я пытаюсь сделать это - взять список значений, возвращаемых из контроллера списка, и вставить их в мое сообщение Response в контроллер поиска, который будет использовать этот список для поиска в хранилище.
Это то, что я пробовал до сих пор -
1 - инициализировать массив списка с помощью Guid: [] в инициализаторе $ scope.data {}
//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) в поле Guids объекта SearchParameter, который я отправляю второму контроллеру поиска.
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.
Фактический результат состоит в том, что список руководств не заполняется этими значениями из поискового запроса.