Ionic / Angular.js $ scope没有在没有ng-repeat的情况下传递值

时间:2015-11-28 20:16:46

标签: angularjs ionic-framework

我有一个生成$scope.product = response.data

的控制器

在我的html模板中,如果键入{{ product }},它会在包含id和name的数组中显示所请求的元数据。但是,除非我通过ng-repeat执行ng-repeat='item in product',否则它将不会打印id和名称,即使我只有一条记录。 例如,{{ product.id }}{{ product.name }}只能显示为{{ item.id }}{{ item.name }}

我甚至尝试过$scope.product.id = response.data.id$scope.product.name = response.data.name

使用案例

  1. 在卡片上打印产品名称和其他信息
  2. 使用product.id进行其他操作,例如:加入购物车。

1 个答案:

答案 0 :(得分:2)

$scope.product是一个数组。因此,它没有任何名为idname的属性。它独特的第一个元素是具有这些属性的对象。因此,如果您知道您的数组只有一个元素,那么您需要的是$scope.product[0].id$scope.product[0].name

数组就像一个盒子。如果一个鸡蛋包含一个鸡蛋,它就不会变成鸡蛋。它仍然是一个鸡蛋。试图炸掉盒子不会导致非常美味的结果。你仍然需要从盒子里取出独特的鸡蛋并煎鸡蛋。

那就是说,如果服务应该返回单个产品,你的后端应该不会返回包含一个产品的数组。它应该返回产品本身。