Как передать данные по страницам в угловых JS

0

На моей домашней странице есть две ссылки. Нажатие которой должно отображать таблицу с некоторыми заранее определенными данными. Ниже приведен код основного page-

adminHomeContent.jsp

<body>
        <div id="page-wrapper" >
            <div id="page-inner">
                <a href="getfeedbackList">Get List Normal</a>
                <div class="row text-center pad-top">                                    
                   <a ng-click="setRoute('feedbacklist')">Get List Angular JS</a>             
                </div>              
            </div>
        </div>       
</body>

Проблема в том, что если я нажму на Get List Normal. Он отображает результаты правильно, но на другой странице, которая не будет частичным обновлением страницы (хотя это можно сделать с помощью iframe). И если я нажму на Get List Angular он перейдет на страницу, но я не могу отправить какие-либо данные на новую страницу.

Для Get List Normal у нас есть URL, отображаемый в controller-

HelloController.java

public class HelloController {

    @Autowired
    FeedbackServices feedbackServices;

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView getData() {
        System.out.println("Home Controller");
        ModelAndView model = new ModelAndView("adminHome");
        return model;

    }

    @RequestMapping(value = "getfeedbackList", method = RequestMethod.GET)
    public ModelAndView getfeedbackList(ModelAndView model) throws IOException {
        System.out.println("getfeedbackList Controller");
        List<FeedbackBean> listFeedback = feedbackServices.getFeedbacklist();
        return new ModelAndView("feedbacklist", "listFeedback", listFeedback);

    }

}

И в угловых js навигация по страницам выполняется this-

successLadder.js

angular.module('successladder', [])
        .config(function ($routeProvider)
        {
            $routeProvider
                    .when('/feedbacklist', {template: 'partial/pages/feedbacklist.jsp'})
                    .otherwise({redirectTo: '/adminHomeContent', template: 'partial/pages/adminHomeContent.jsp'});
        });

function MainCtrl($scope, $location)
{
    $scope.setRoute = function (route)
    {
        $location.path(route);
    };
    $scope.showModal = false;
    $scope.toggleModal = function () {
        $scope.showModal = !$scope.showModal;
    };
}

Я могу добиться этого с помощью iframe но я хочу сделать это с помощью angualr js. Любая идея, как реализовать это в angualr js?

  • 0
    Вы можете использовать $ rootcope или создать сервис
Теги:
spring-mvc

2 ответа

0

Посмотрите на создание услуги AngularJS. Услуги существуют как синглеты, и, таким образом, глобальны в вашем приложении. Поэтому, если вы сохраняете данные, которые хотите использовать внутри службы, вы сможете получить доступ к ним через разные страницы.

Это помогло мне, когда впервые узнали об услугах: https://www.airpair.com/angularjs#6-services-and-factories

Надеюсь, это помогло.

0

Я не полностью слежу за вашим прецедентом, но имеет смысл создать службу для хранения данных, а затем ввести указанную службу в несколько контроллеров? Также, если это представление списка идентично в разных местах, вероятно, имеет смысл написать директиву для обработки фактического рендеринга указанных данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню