2015-10-15 2 views
0

У меня есть 2 контроллера.Как избежать избыточной переменной в angularjs

Первый listController.js:

app.controller('listCtrl', function($scope, $http, $controller, $window) { 
    $scope.user = [{id:1,name:'rina'},{id:2,name:'anna'},{id:3,name:'yuna'}]; 
}); 

, а второй editController.js

app.controller('editCtrl', function($scope, $http, $controller, $window) { 
    $scope.user = [{id:1,name:'rina'},{id:2,name:'anna'},{id:3,name:'yuna'}]; 
}); 

Как и можно видеть. Я использовал переменную $scope.user в обоих контроллерах. Теперь я хочу использовать его один раз. Я имею в виду, я хочу избежать избыточных кодов. Как я могу вызвать переменную в любом из моих контроллеров. Какие-либо предложения?

ответ

2

Вы можете добавить услугу, которая будет отвечать за предоставление данных.

app.service('UsersService', function() { 
    this.getUsers = function() { 
     return [{id:1,name:'rina'},{id:2,name:'anna'},{id:3,name:'yuna'}]; 
    } 
}); 

затем в контроллерах вы можете поместить его так:

app.controller('listCtrl', function($scope, $http, $controller, $window, UsersService) { 
    $scope.user = UsersService.getUsers(); 
}); 
Смежные вопросы