AngularJS Передача области на другую страницу с тем же контроллером - PullRequest
0 голосов
/ 07 января 2019

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

HTML:

<h3 class="fc-primary" ng-click="canvasLocation(location.id)"><a href="/about-us/location">{{location.id}}</a></h3>

Угловой контроллер:

$scope.canvasLocation = function(locationId) {
                    angular.forEach($scope.model.canvasLocations.response.locations,
                        function(value) {
                            if (value.id === locationId ) {
                                $scope.model.canvasLocationData.push(value);
                                var tempArry = [];
                                tempArry.push(value.institutionName);
                                tempArry.push(value.latitude);
                                tempArry.push(value.longitude);
                                tempArry.push(value.mondayOpen);
                                tempArry.push(value.mondayClose);
                                tempArry.push(value.tuesdayOpen);
                                tempArry.push(value.tuesdayClose);
                                tempArry.push(value.wednesdayOpen);
                                tempArry.push(value.wednesdayClose);
                                tempArry.push(value.thursdayOpen);
                                tempArry.push(value.thursdayClose);
                                tempArry.push(value.fridayOpen);
                                tempArry.push(value.fridayClose);
                                tempArry.push(value.saturdayOpen);
                                tempArry.push(value.saturdayClose);
                                tempArry.push(value.sundayOpen);
                                tempArry.push(value.sundayClose);
                            }
                        });
                };

когда я пытаюсь получить доступ к $scope.model.canvasLocationData его возвращению [] на новой странице?

1 Ответ

0 голосов
/ 07 января 2019

Вы покидаете страницу, где была определена область, и она больше не доступна, когда загружается новая страница. У вас есть несколько вариантов:

  • Создайте новый вид на существующей странице, чтобы показать содержимое / about-us / location. Это, вероятно, будет рекомендуемый подход, так как angularjs - это фреймворк для одностраничных приложений (SPA).
  • Вам нужен способ передать состояние на принимающую страницу (about-us / location), чтобы вы могли перестроить область там. Если вы можете повторно зарегистрировать местоположения из идентификатора местоположения на принимающей странице, это может быть так же просто, как сделать (about-us / location? Id = 1234 или URL-адрес на основе ресурса: about-us / location / 1234). Ваш выбор здесь, вероятно, зависит от вашей технологии промежуточного программного обеспечения (.NET, Java, Express и т. Д.). Находясь на новой странице, вы можете проанализировать URL-адрес, чтобы получить идентификатор местоположения, чтобы сделать запрос AJAX / XHR / $ http для получения информации.

Вот URL для ui-router, который будет полезен для первого пункта. Было бы сложнее рекомендовать более направленный подход со вторым вариантом (новая страница), не зная, какой средний уровень или технологию вы используете для обслуживания контента.

https://github.com/angular-ui/ui-router

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...