Я искал в Google, но не могу найти информацию о том, как это сделать должным образом. Похоже, что все ответы на Google теперь устарели (используя более старые версии AngularJS).AngularJS: как выполнить метод в другом контроллере?
Я пытаюсь настроить два контроллера на моем модуле AngularJS. Например, первый контроллер обрабатывает запросы $ http GET. И второй контроллер отображает сообщение «успех» или «ошибка». Я хочу иметь возможность вызывать метод со второго контроллера с сообщением об успешности/ошибке, которое должно отображаться.
Или я должен использовать сервис/завод для этого? Я читал об услугах, но не могу понять, как сделать что-то вроде этой работы.
var module = angular.module('app', []);
module.controller('ApiController', ['$scope', '$http', function ($scope, $http) {
$http.get('/api').
success(function(data){
// call AlertController('success')
}).
error(function(data){
// call AlertController('failed')
});
}]);
module.controller('AlertController', ['$scope', function ($scope) {
$scope.message = {
show_message: true,
type: 'info',
message: "Display message!"
};
}]);
Либо делать это таким образом, или, возможно, я хотел бы, чтобы подтолкнуть входящий сигнал тревоги на глобальном переменный объект, а затем удалить его после того, как она была показана.
Кто-нибудь знает, как правильно это установить?
u se service/factory –
Возможный дубликат http://stackoverflow.com/q/11252780/2503246 –
Hi, Вы можете написать самостоятельно и ввести его в контроллер с помощью модуля ввода: angular.module ('application', ['AlertModule']) После этого вы можете использовать его. Но есть такие вещи, как , это https://github.com/Foxandxss/angular-toastr. – Chrissx