我有一個Express項目,我正在從Mongo數據庫讀取數據。我希望能夠看到數據庫中的所有條目瀏覽到http://localhost:8080/viewreplies時。Angular JS和Express項目:將對象傳遞給ejs視圖
這部分在「index.js」的觀點似乎是好的工作:
app.get('/viewreplies', function(req, res) {
// allreplies contains the data from the MongoDB
var allreplies = RepliesModel.find().then(function(result){
console.log(result);
return result;
});
res.render('replies', { allreplies : allreplies });
});
當我去到本地主機:端口路徑中,執行console.log命令打印完整的對象到控制檯,所以檢索看起來不錯。
然後我渲染'回覆'視圖,它應該列出所有數據。這裏是來自'answers.ejs'的有關示例。
<body ng-app="myApp" ng-controller="contr">
<h1>Overview of all the results:</h1>
<br>
<table>
<th>Name:</th>
<th>Gender:</th>
<tr ng-repeat="reply in allreplies">
<td> {{ reply.name }}</td>
<td> {{ reply.gender }}</td>
</tr>
</table>
<script>
var app = angular.module('myApp', []);
app.controller('contr', function($scope) {
$scope.allreplies = allreplies;
});
</script>
</body>
看來我沒有正確地傳遞對象到我的渲染視圖。瀏覽器控制檯指出
ReferenceError: allreplies is not defined
有人能來看看,看看我在做什麼錯在這裏?非常感謝!
好極了!謝謝!我太匆忙地開始使用角度(我喜歡HTML格式化),並沒有意識到我在ejs上工作。哎呀。現在一切都清楚了! –
@ElFred如果有幫助,那麼你能接受我的回答嗎? – nrgwsth