我想动态显示记录的字段名称:
示例:
如果我有这三个记录
{
"_id": {
"$oid": "blahblah"
},
"firstName": "Jon",
"lastName": "Doe",
"age" : "55"
}
{
"_id": {
"$oid": "blahblahblah"
},
"firstName": "Johnny",
"lastName": "Doedoe",
"weight" : "555lb"
}
我希望在带有angularjs的网页中显示的是:
名字:Jon
姓氏:Doe
年龄:55
名字:约翰尼
姓氏:Doedoe
重量:555磅我知道如何获取特定值,例如获取我可以执行此操作的名字:$ scope.person.firstname(这当然是一个示例),但是如何获得标签“firstname”。我怎样才能让angularjs获得所有标签?
由于
答案 0 :(得分:1)
您必须向数据库写一个查询以获取这些记录,具体取决于您的服务器查询会有所不同。以下是呼叫的节点版本
function getNames() {
db.collection.find().toArray(function(data, err) {
if (err)
//do something
else
res.send(data);
});
}
现在,从Angular,对您的服务器进行GET
调用:
$http.get(url).success(function(data) {
$scope.names = data;
});
现在您已将$scope.names
设置为来自serv的数据数组。使用ng-repeat
全部显示:
<div ng-repeat="name in names">
<span ng-repeat="(key, val) in name">{{key}}:{{val}}</span>
</div>
就是这样(好吧,基本上,毫无疑问你必须调整它)。
答案 1 :(得分:0)
不确定您是否使用Express和Jade with Angular,但是如果您不想单独生成http请求(取决于您的应用程序的配置方式),您可以编写一个可以重复使用的角度服务任何控制器。
该服务的目的是抓住json并将其放入当前范围,以便您的控制器可以使用它。此外,您可以在每个页面(即每个控制器)中注入此服务依赖项,它将为您加载文档。
博客文章和full repo here。