行。开始了。我试图用MEAN构建简单的应用程序。当我用角度{{object}}
显示我的对象时,它会在我的页面上打印对象,但是当我尝试打印对象属性{{object.property}}
时,没有任何反应。
以下是代码的相关部分。你如何打印对象的属性?
蒙戈
> db.myapp.find().pretty()
{
"_id" : ObjectId("564983745dc4b169cba8c9fc"),
"type" : "balance",
"value" : "111"
}
服务器代码
app.get('/myapp', function (req,res) {
db.myapp.find(function(err,docs){
res.json(docs);
});
});
控制器
$http.get('/myapp').success(function (response) {
$scope.balance = response;
});
HTML
<p>{{balance}}</p>
<p>{{balance.type}}</p>
<p>{{balance.value}}</p>
以上HTML的结果如下。
[{"_id":"564983745dc4b169cba8c9fc","type":"balance","value":"111"}]
答案 0 :(得分:1)
正如JSON所示,平衡不是一个对象。它是一个包含单个元素的数组,它是一个对象。所以你需要
{{ balance[0].type }}
打印类型。
如果REST服务应该返回单个对象,则修复它。如果它确实应该返回几个,那么视图应该有一个循环来显示所有元素:
<div ng-repeat="item in balance">
{{ item.type }}
</div>
答案 1 :(得分:0)
您的响应对象似乎是一个数组(这就是它在方括号中呈现的原因)。
在这种情况下,请在控制器中使用$scope.balance = response[0]
或在标记中使用{{balance[0].type}}
。
答案 2 :(得分:0)
<强> HTML 强>
<section class="content row" ng-repeat="item in data">
Name: {{item.name}} <br/>
BaseValue: <input type="text" ng-init="item.oldBaseValue = item.baseValue" ng-model="item.baseValue" ng-change="baseValueChange(item.oldBaseValue, item.baseValue); item.oldBaseValue = item.baseValue"/>
</section>
<强> CONTROLLER 强>
$scope.baseValueChange = function(oldVal, newVal) {
console.log("base value change", oldVal, newVal);
}