Как заполнить $ scope на начальной странице GET-запроса

0

Таким образом, моя страница зависит от того факта, что область $ имеет всю информацию. У меня есть много {{ information }} на странице. На контроллере backend узла я получаю информацию из базы данных и отправляю ее во внешний интерфейс, но область $ задается в другом файле. Трудно объяснить, что я пытаюсь сделать.

Вот мой файл index.js:

app.get('/page', function (req, res){

   var info = db.getInfo();

   res.render('page', {
      information: info
   });
});

Затем страница будет отображаться, но как мне передать информацию в область $.

  • 0
    как вы делаете требования на веб-интерфейсе? вы используете $ http?
  • 0
    @ Шимбр: нет. Этот запрос GET, когда кто-то нажимает на ссылку.

1 ответ

0

Маршрут, который вы установили в своем NodeJS, должен быть доступен через $ http в угловом режиме. Маршрутизация URL-адресов должна обрабатываться в интерфейсном приложении с использованием ng-route.

Если вы хотите отобразить свою страницу в угловом размере через сервер, вам нужно будет заставить сервер генерировать угловой код, чтобы это сделать... Это, однако, просто оскорбительно. Лучше всего позволить угловой ручке извлекать эти данные.

Использование услуги angularjs:

angular.module('yourApp')
  .service('pageLoader', function($http) {
    var baseUrl = ''; // this will be the url for your server. Normally    
                      // 'localhost' or something similar if it is a test 
                      //  environment

    return this.loadPage = function() {
      return $http.get(baseUrl + '/page'); 
    }
  })
  .controller('PageCtrl', function($scope, pageLoader) {
    $scope.page = null;

    $scope.loadPage = function() {
      pageLoader.loadPage().then(function(data) {
        $scope.page = data;
      })
    }
  });

Это просто, чтобы дать вам представление о том, как это сделать. Есть много разных примеров сервисов $ http, если вы выполняете поиск.

Также измените 'render' на 'send' в nodejs.

EDIT: Я предполагаю, что вы используете угловое внешнее приложение, а не какую-то другую систему шаблонов. Вы должны отправлять эту информацию и использовать угловые для создания страницы с этой информацией.

Ещё вопросы

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