На моей домашней странице есть две ссылки. Нажатие которой должно отображать таблицу с некоторыми заранее определенными данными. Ниже приведен код основного 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?
Посмотрите на создание услуги AngularJS. Услуги существуют как синглеты, и, таким образом, глобальны в вашем приложении. Поэтому, если вы сохраняете данные, которые хотите использовать внутри службы, вы сможете получить доступ к ним через разные страницы.
Это помогло мне, когда впервые узнали об услугах: https://www.airpair.com/angularjs#6-services-and-factories
Надеюсь, это помогло.
Я не полностью слежу за вашим прецедентом, но имеет смысл создать службу для хранения данных, а затем ввести указанную службу в несколько контроллеров? Также, если это представление списка идентично в разных местах, вероятно, имеет смысл написать директиву для обработки фактического рендеринга указанных данных.