У меня есть частичный, из которого мне нужно вызвать маршрут, который будет иметь контроллер и собственный вид. Когда я вызываю маршрут, мне также нужно передать объект json в контроллер. Я сделал это раньше для простых значений, таких как id, name и т. Д., Но в этом случае я передал его как параметр пути, и я могу получить его, используя $ ropeeparams. Но как сделать то же самое с объектом json. Пожалуйста, дайте мне знать.Передача параметров пути с объектом в angularjs
ответ
Вы можете использовать фабрику, чтобы сохранять данные с одного контроллера и извлекать их с другого контроллера.
Что-то вроде этого?
angular.module('app')
.factory('mySerivce', function() {
var jsonData;
return {
setData: function(data) {
jsonData = data;
},
getData: function() {
return jsonData;
}
}
});
setData от первого контроллера и от второго getData.
Спасибо @LooMan. Это лучший способ добиться этого. Не могли бы вы сообщить мне, так как может потребоваться несколько запросов и как сопоставить данные для каждого соответствующего запроса. – zilcuanu
Да, я думаю, что заводское решение - лучший и самый простой способ сделать это. Можете ли вы просто сохранить объект json на заводе и позволить контроллеру решить, что делать с данными? – LooMan
Таким образом, нам нужно сохранить данные с помощью ключа на заводе и передать ключ при маршрутизации. Контроллер, настроенный для маршрута, будет использовать ключ для извлечения данных с завода? Это то, что вы хотели реализовать? – zilcuanu
Под «частичным» вы подразумеваете в том числе шаблон с ng-incluce, директивным шаблоном или с $ routeProvider? –
partial - это шаблон html для маршрута. Здесь меня интересует вызов маршрута из частичного и возможность передать объект json для следующего контроллера, сопоставленного для последующего маршрута. – zilcuanu
Итак, у вас есть область, которая создается в одном контроллере, который имеет действие, позволяющее изменить маршрут, но вы хотите передать данные из этой области в другую область, которая будет создана на этом целевом контроллере? В этом случае сервис - это то, что вы ищете. –