在此Plunker为什么我无法访问
{{ cartItem.selectedSeller.registered_name }}
代码
<div ng-repeat="cartItem in cartItems track by $index">
{{ cartItem.selectedSeller }} // I can access this
<h2> Registered Seller Name:</h2>
{{ cartItem.selectedSeller.registered_name }} // but not this
===============================
</div>
据我所知,我们将[]
放在数组的情况下,我们可以使用.
访问对象属性。我肯定在这里错过了一些小小的逻辑。我想显示每个购物车产品的卖家名称。
答案 0 :(得分:1)
您的json格式无效。请仔细检查here
"selectedSeller":"{\"registered_name\": \"6bc0317c-0b8b-4b39-96d4-c3377e64acfd_seller\", \"rating\": 1, \"id\": 64, \"delivers_to\": \"[{\\\"city_name\\\": \\\"Pune\\\", \\\"country\\\": \\\"India\\\", \\\"pin_code\\\": \\\"411057\\\"},{\\\"city_name\\\": \\\"Kolkata\\\", \\\"country\\\": \\\"India\\\", \\\"pin_code\\\": \\\"411058\\\"},{\\\"city_name\\\": \\\"Delhi\\\", \\\"cou
通过键selectedSeller
访问字符串但不访问对象,其中显示register_name
属性
此外,最好使用json
过滤器,但它取决于您使用的角度版本。
{{ foo | json }}
在这里我可以看到关于解析json的建议,它也可以解决你的问题,但是我不建议你这样做,以一致的格式保存json后端数据,而不是通过解析器在客户端重新映射它或一些自定义方法。
答案 1 :(得分:0)
cartItem.selectedSeller是一个字符串,只需在控制器中将字符串解析为类似JSON:
$scope.cartItems = [];
$http({
method: 'GET',
url: 'data.json'
}).success(function(data) {
data.forEach(function(a){
a.selectedSeller = JSON.parse(a.selectedSeller);
$scope.cartItems.push(a);
});
});