2015-08-16 44 views
2

我有這個集合:如何使用Id在Angularjs中顯示來自集合的項目?

this.students = [ 
     { id: 1, courseId: 1, text: 'John' }, 
     { id: 2, courseId: 1, text: 'Andye' }, 
     { id: 3, courseId: 1, text: 'Inga' }, 
     { id: 4, courseId: 2, text: 'Jerry' } 
    ]; 

我有這樣的標籤:

  <div class=""> 
       <label class="control-label">Student Name: </label> 
       <label class="control-label">"show student name"</label> 
      </div> 

我想ID顯示例如學生姓名= 3, 在這個標籤:

<label class="control-label">"show student name"</label> 

從AngularJS的集合中通過Id顯示文本的優雅方式是什麼?

+0

你可以像'ng-repeat ='學生一樣在vm.students | filter:{id:3}「'ng-ng'中重複'' –

+2

爲什麼你的模型中有一羣學生如果目標是隻顯示其中的一個?似乎有一個更大的設計問題。 –

回答

0

實現預期結果的最簡潔的方法是定義一個方法,根據某些標準返回所需的任何學生,在本例中爲id

// controller.js 
this.getStudentById = function(id) { 
    for(let i = 0; i < this.students.length; i++) { 
     if(this.students[i].id === id) { 
      return this.students[i]; 
     } 
    } 
} 

// template.html 
<label class="control-label">{{getStudentById(<id>).name}}</label> 

@JB Nizet is correct但是,如果您只想一個學生,你可以考慮從你的「學生服務」,而不是維護學生說,然後你的控制器中被過濾的陣列只讀取該學生。

相關問題