Я использую Angular 1.7.8, и у меня есть контроллер, который вызывает сервис, который получает данные от API, проблема в том, что я не могу получить доступ к данным вне сервисного блока в том же контроллере.
app.controller('AppController', function ($scope, DataService) {
let fieldProperties = {};
$scope.findInData = function (value) {
DataService.getData().then(function (response) {
$scope.result = response.data;
if (response.data !== undefined) {
for (let idx in $scope.result) {
if ($scope.result.hasOwnProperty(idx)) {
if (value === $scope.result[idx].fieldname) {
fieldProperties = {
'fieldName': $scope.result[idx].fieldname,
'preferredFieldName': $scope.result[idx].preferredfieldname,
'fieldValue': $scope.result[idx].fieldvalue,
'isEditable': $scope.result[idx].editable,
'isMandatory': $scope.result[idx].mandatory,
'isAutoClear': $scope.result[idx].autoclear
};
}
}
}
}
});
};
$scope.resultFieldProperties = fieldProperties;
});
Также хочу отметить, что непосредственное размещение $ scope для fieldProperties не является для меня решением, поскольку мне нужно отправить этот результат в директивную область, объект fieldProperties, так как область также не определена внеСервисный блок, любые другие предложения, пожалуйста!?