Ваша функция $scope.getStory()
ничего не возвращает, ваша обратная линия return data.ResponseData;
вложена в другую функцию.
uib-typeahead
Директива может работать с обещаниями так что вам просто нужно вернуть обещание из вашей функции.
$scope.getStory = function (val)
{
return storyService.GetStoryByName(cacheService.project.projectId, val).success(function (data)
{
if (data.ResponseStatus)
return data.ResponseData;
toastr.error(data.ErrorData.Error);
return [];
});
};
Вы также можете добавить другое свойство в директиву typeahead-loading="isLoading"
, которое будет переключаться, пока обещание будет разрешено. Например, он может использоваться для показа / скрытия загружающих прядильщиков!