我想通过ejs将后端发送到angularjs的控制器前端
app.js
我将数据传递给view / indexcontens。
var users = [
{
name: 'john',
email: 'john@email.com'
},
{
name: 'peter',
email: 'peter@email.com'
},
{
name: 'max',
email: 'max@email.com'
}
];
app.get('/partials/indexContents.html', function(req, res) {
res.render('partials/indexContents', {users:users})
});
app.get('/partials/about.html', function(req, res) {
res.render('partials/about')
});
视图/分音/ indexContents 我把它变成了全局变量。
<div>
<h3>home</h3>
<p>wecome to my blog. I hope you enjoy the content!</p>
<ul>
<li ng-repeat="post in blogposts">{{post}}</li>
</ul>
</div>
<script>
users = "<%=abc=users[0].name%>";
</script>
public / js / contollers.js
试图获取全局变量
var app= angular.module('blog',['ngRoute']);
app.config(function($routeProvider) {
//set up routes
$routeProvider
.when('/home',{
templateUrl:'partials/indexContents.html',
controller:'SimpleController'
})
.when('/about',{
templateUrl:'partials/about.html',
controller:'AboutController'
})
.otherwise({
redirectTo:'/'
});
});
app.controller('SimpleController', function($scope){
$scope.blogposts=[
'blog post1',
'blog post2',
window.users
];
});
app.controller('AboutController', function($scope){
$scope.name="graum";
$scope.bio="i just made it";
});
但它只显示空白而不是&#39; john&#39;。
请给我一个解决方案,谢谢
答案 0 :(得分:0)
为什么不使用$ resource从服务器获取名称?我知道这不是最好的选择,当然也不是你想要的,但这种方式确实有效。 不过你也可以试试这个
<script>
(function() {users = "<% users[0].name%>";})();
</script>