2014-09-19 17 views
18

Nesnelerin bir dizisini tekrarlıyorum ve değişkendeki değişkenimin her bir nesnenin yalnızca bir özelliğine başvurmasını istiyorum.Nesne özelliğini ng-yinelemede ng-repeat olarak nasıl kopyalanır

Basitleştirilmiş veri örneği:

<div ng-repeat="person in data">{{ person.name.first }}</div>

Ama şunu tercih ediyorum sadece ben nesnenin yalnızca bir bölümüne odaklanmanızı geçerli:

var data = [ 
    { 
    'name': { 
     'first': 'John', 
     'last': 'Johnson' 
    } 
    'age': 45 
    }, 
    { 
    'name': { 
     'first': 'Larry', 
     'last': 'Wilson' 
    } 
    'age': 45 
    } 
] 

yapabileceğim m kullanarak ve böyle bir şey yapmak:

<div ng-repeat="person.name in data as name">{{ name.first }}</div>

Ama bu çalışmıyor gibi görünüyor - şu anda mümkün mü?

+1

Ben ancak kullanabilirsiniz, değil sanırım ng-init 'Bu soru değil-çok-iyi-ifadeli Google aramasında mucizevi geldi

{{ name.first }}
' – PSL

+1

. Tam olarak ihtiyacım olan buydu. – Nate

cevap

1

"ng-init" hile kullanarak sakının. Bu, "isim" değişkenini, isteyebileceğiniz [$ index] .name ifadesi için gerçek bir takma isim yapmak yerine "kişi" nesnesine bağlar.

// Init model. 
    data['fooPerson'] = {name: {first:"foo"}, age:64} 
    $timeout(function(){ 
     data['fooPerson'] = {name: {first: "bar"}, age:51} 
    }, 1000); 
// Result after ~1 second: 
// {{ name.first }} --> still "foo"; 
+0

Peki ne önerirsiniz? –

+0

PS. Büyük ipucu :-) –

İlgili konular