2016-03-03 49 views
4

目標: - 僅顯示單個對象數據。 我是否必須使用ng-repeat來獲取對象?如何使用ng-repeat顯示單個對象數據?

我比較新的角度。有一個更好的方法嗎?

HTML視圖: -

<div ng-controller="dashboardController"> 
    <div ng-repeat="person in persons"> 
     <span class="name">{{person.name}}</span> 
     <span class="title">{{person.title}}</span> 
    </div> 
</div> 

控制器代碼: -

.controller('dashboardController', ['$scope', function(scope){ 
    scope.persons = [ 
     { 
     name:"George Harrison", 
     title:"Goof Off extraordinaire" 
     } 
    ]; 
}]) 

更新我的同胞菜鳥,陣VS單個數據集:

scope.persons = [ <-- that creates an array. Cant believe I forgot that. 
scope.persons = { <-- that creates a single data set 

回答

1

一般來說,如果你只有一個項目,這將是一個對象

$scope.beatle = { 
    name:"George Harrison", 
    title:"Goof Off extraordinaire" 
} 

然後引用直接鑑於

{{beatle.name}} 
+0

謝謝。所以我明白控制器是做什麼的。但是你建議我不需要控制器。你能解釋一下爲什麼你會或不會在這種情況下使用控制器?如果您要編輯數據,這是否會成爲您需要控制器的原因? – Acts7Seven

+1

是的,你需要控制器。該視圖始終取決於控制器中的數據模型。我只是說,當你期待只有一個項目時,它通常是一個對象而不是數組 – charlietfl

2

這與當前的JSON結構爲你的事業:

<div ng-controller="dashboardController"> 
     <div> 
      <span class="name"> {{persons[0].name}} </span> 
      <span class="title"> {{persons[0].title}} </span> 
     </div> 
    </div> 
+0

謝謝!這適用於帶有組件的Angular 1.5。我唯一改變的是使用ng-controller。組件中不需要它。我用:{{$ ctrl.persons [0] .name}} – PPJN

+0

@ PPJN你可以用任何一種方式......很高興我工作了。快樂編碼! – Prasad

4

scope.persons是一個數組,所以你必須使用NG-重複。 如果你的數據是一個對象,你不需要使用ng-repeat。 例如: 控制器

.controller('dashboardController', ['$scope', function(scope){ 
    scope.person ={ 
     name:"George Harrison", 
     title:"Goof Off extraordinaire" 
     } 

}]); 

所以你的HTML:

<div ng-controller="dashboardController"> 
<div> 
    <span class="name">{{person.name}}</span> 
    <span class="title">{{person.title}}</span> 
</div> 

相關問題