2015-07-12 53 views
2

有人可以幫助我嗎? 我想從項目中獲取person id,並將其綁定到鏈接以查看該人的更多詳細信息,但對於我而言,它看起來不像多維數組,對於任何想法?Angularjs獲得子陣列編號

角JS:

var projects = [ 
    { 
     id: 1, projectName: 'Economy', year: '2015', projectdescription: 'A cool economy project', 
     persons: [ 
      { person: '1', personId:'1', firstname:'John', lastname:'Snow', description: 'John is an economist', expertise: 'Math' } 
     ] 
    } 

HTML:

<a href="#/projectpersons/{{projects.person.id}}" class="cardBody btn-link">View More</a> 

在此先感謝。

+0

檢查我的答案它應該是根據你給的答案json –

+0

你需要ng-repeat來創建你的鏈接。請看@AshishRatan的代碼 –

回答

2

你真的需要了解基本的JavaScript的東西:

  • [a, b, c](注意,方括號中)是一個數組。您訪問索引i處的元素,從0開始,使用array[i]
  • {name: 'Joe', age: 23}(注意大括號)是一個對象。您使用object.nameobject['name']訪問此對象的屬性。

所以你有什麼是一個項目的數組。每個項目都是一個擁有persons屬性的對象,擁有一個或多個數組。每個人都是具有personId屬性的對象。

因此,訪問的第一個項目的第一人的ID,你可以使用

projects[0].persons[0].personId 

要訪問的第三個項目的第二人的ID,你可以使用

projects[2].persons[1].personId 
+0

對不起,這裏的編碼器不好。看起來像需要一個循環來將每個鏈接綁定到每個人。謝謝。 – A7bert

2
<div ng-repeat='pr in projects'> 
<div ng-repeat='p in pr.persons'> 
{{p.person}} 

<a href='#/ur/detail({pId:p.person})'>More detail</a> 
</div> 

</div> 
0

角JS:

`var projects = [ 
{ 
    id: 1, projectName: 'Economy', year: '2015', projectdescription: 'A cool economy project', 
    persons: [ 
     { person: '1', personId:'1', firstname:'John', lastname:'Snow', description: 'John is an economist', expertise: 'Math' } 
    ] 
}` 

HTML:

`<a href="#/projectpersons/{{projects[0].person[0].personId}}" class="cardBody btn-link">View More</a>`