2015-11-03 2 views
1

Я новичок в Node/Angular и пытаюсь получить переменную в угловом $scope.Поделитесь переменной между nodeJs и angularJS, используя

Вот что я делаю.

У меня есть эта линия в app.js (узел на стороне сервера ИКВ):

app.get('/homepage', login.redirectToHomepage);

redirectToHomepage определяется следующим образом в одном из своих узлов модулей:

function redirectToHomePage (req, res) { ... res.render("homepage",{data: results[0]}); ... }

homepage.html (Это работает как ожидалось, и я вижу, что значение подставляется)

<li><a href="/about" style="color:#FFFFFF"> <%=data.email%> </a></li>

Контроллер для homepage.html является: mainCtrl

Я хочу, чтобы иметь возможность получить доступ к "данные" переменной в mainCtrl так, что я могу сделать ниже:

<li><a href="/about" style="color:#FFFFFF"> {{data.email}} </a></li>

Я пробовал:

<div> ng-controller=“mainCtrl” ng-init="data= #{JSON.stringify(data)}”>

Если я использовать JSON.stringify Я получаю ошибки разбора в консоли браузера. Ссылка: Pass Variables to Angular from Server

Что следует написать в mainCtrl, чтобы сделать вышеприведенную линию? Какие-либо предложения?

ответ

0

Это ограничение с любым средством визуализации, например, ejs, jade, JSP (для Java в этом отношении). Два способа получения данных от сервера к переднему концу:

  1. сделать вызов Ajax и получить ответ, присвоенный соответствующее veriable.
  2. в HTML-страницу написать <script>var data = <%=data.email%>;</script>, в то время как в другом файле JS (который должен быть загружен в любом месте после предписанного пропущено), вы можете легко назначить эти глобальные данные veriable в любой области veriable так: $scope.dataFromServer = data;
Смежные вопросы