为什么我不能访问AngularJS控制器的子元素?

时间:2018-03-30 18:35:22

标签: javascript html angularjs

我猜这可能已经回答了一百万次,但我没有正确的语言来描述这个特定的问题。基本上我不能做$ctrl.thing.subelement之类的事情。以下工作正常:

<div class="col-md-10" ng-repeat="p in $ctrl.patient">
  <!--Body content-->
  <p>{{p.name}}</p>
  <p>{{p.id}}</p>
</div>

这会打印患者姓名和身份证 - 我想要的行为 - 除了我不需要重复。我希望能够在整个页面中引用特定的patient元素。

同样,这会将所有患者的信息打印为JSON明文(这就是所有内容的存储方式)。

<div class="col-md-10">
  <!--Body content-->
  <p>{{$ctrl.patient}}</p>
</div>

什么不起作用是以下(这是我真正想要的)

<div class="col-md-10">
  <!--Body content-->
  <p>{{$ctrl.patient.name}}</p>
  <p>{{$ctrl.patient.id}}</p>
</div>

我在这里缺少什么?为什么我能够访问div中的$ctrl.patient而不是$ctrl.patient.name

1 个答案:

答案 0 :(得分:3)

简单,因为$ ctrl.patient不是代表单个病人的对象,而是一组患者 - 这就是你迭代它的原因。因此,您需要知道要通过索引访问数组中的哪个项目,然后使用:

{{$ctrl.patient[0].name}}

其中0是您想要的记录的索引。