Теперь я пользуюсь службой для передачи данных из вида в другое представление (другой контроллер тоже), в представлении A у меня есть контроллер CtrA, для службы, которую я использую для передачи данных:Данные исчезнут после обновления страницы,
.factory(
'editreportservices',
[
'$q',
'sessionId',
function($q, sessionId) {
var sharedata = {};
var org={};
function passed(data){
sharedata = data;
};
function getsharedata(){
return sharedata;
};
function passedorg(data) {
org=data;
}
function getorg() {
return org;
}
return{
passed:passed,
getsharedata:getsharedata,
passedorg:passedorg,
getorg:getorg
}
}]);
в CTRA, если я нажал на кнопку, я установлю значение для editreportservices.passed (отчета), как:
$scope.goeditpage = function(report){if(report){
editreportservices.passed(report);
}
else{
report={}
editreportservices.passed(report);
};
$state.go('editreport');
}
и это также изменится на View B, и в силе BI может получить доступ к данным с помощью $ scope.lin = editreportservices.getsharedata(), работает как ожидается. Но есть проблема, я не уверен, что это ошибка или нет, если пользователь обновит страницу, данные, переданные из viewA, исчезнут. это может быть плохой пользовательский опыт, есть ли в любом случае я могу сохранить данные в viewB после того, как он передан из VIewA?
это ожидается. если вы обновляете, вам нужно перезагрузить свои данные. Обходной путь - использование localstorage или webdb – ABOS