Как использовать ответ API в нескольких контроллерах - PullRequest
0 голосов
/ 13 апреля 2020

Я получаю ответ от вызова API. Я получу все данные и сохраню это значение в одной переменной. Как я могу использовать это в нескольких контроллерах без повторения цикла снова и снова.

  • ) MainController. js

$scope.responseData = reply.data;

Это мой ответ. Я получаю все записи здесь. Я отображаю все записи на странице панели инструментов на основе этого ответа.

У меня есть еще 4 контроллера, например,

  • ) Controller1. js
  • ) Контроллер2. js

  • ) Контроллер3. js

  • ) Контроллер4. js

Сначала я написал в главном контроллере, как это,

$timeout(function(){
$scope.responseData.forEach(function (data) {
			if (data.Category == 'A') {
				console.log("A");
			} else if (data.Category == 'B') {
				console.log("B");
			} else if (data.Category == 'C') {
				console.log("C");
			}else if (data.Category == 'D') {
				console.log("D");
			}
		});							
});

Я хочу использовать это в нескольких контроллерах. Прямо сейчас я пишу это условие на всех контроллерах. Таким образом, несколько раз то же самое происходит l oop, и приложение становится медленным.

Контроллер1. js:

$timeout(function(){
$scope.responseData.forEach(function (data) {
			if (data.Category == 'A') {
				console.log("A");
			} else if (data.Category == 'B') {
				console.log("B");
			} else if (data.Category == 'C') {
				console.log("C");
			}else if (data.Category == 'D') {
				console.log("D");
			}
		});							
});

Контроллер2. js:

$timeout(function(){
$scope.responseData.forEach(function (data) {
			if (data.Category == 'A') {
				console.log("A");
			} else if (data.Category == 'B') {
				console.log("B");
			} else if (data.Category == 'C') {
				console.log("C");
			}else if (data.Category == 'D') {
				console.log("D");
			}
		});							
});

Контроллер3. js:

$timeout(function(){
$scope.responseData.forEach(function (data) {
			if (data.Category == 'A') {
				console.log("A");
			} else if (data.Category == 'B') {
				console.log("B");
			} else if (data.Category == 'C') {
				console.log("C");
			}else if (data.Category == 'D') {
				console.log("D");
			}
		});							
});

Контроллер4. js:

$timeout(function(){
$scope.responseData.forEach(function (data) {
			if (data.Category == 'A') {
				console.log("A");
			} else if (data.Category == 'B') {
				console.log("B");
			} else if (data.Category == 'C') {
				console.log("C");
			}else if (data.Category == 'D') {
				console.log("D");
			}
		});							
});

Как написать только одно место и использовать в нескольких местах. Может кто-нибудь, пожалуйста, объясните мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...