使用

时间:2015-11-03 10:11:10

标签: javascript angularjs node.js

我是Node / Angular的新手并尝试将变量变为angular $scope

这是我正在做的事情。

我在app.js(节点服务器端scr)中有这一行:

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中的变量“data”,以便我可以执行以下操作:

<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中写什么才能使上面的代码行?有什么建议?

1 个答案:

答案 0 :(得分:0)

这是任何视图渲染器的限制,如ejs,jade,JSP(对于java而言)。 从服务器到前端获取数据的两种方法:

  1. 进行ajax调用,并将响应分配给相关的veriable。
  2. 在html页面中写<script>var data = <%=data.email%>;</script>,而在另一个js文件中(应该在规定的剪切后的任何地方加载),您可以轻松地将此全局数据分配给任何可验证的范围:$scope.dataFromServer = data;