2013-04-08 15 views
6

Bir liste için ng-repeat kullanmayı deniyorum, ancak Django ile oluşturulmuş önceden var olan liste öğelerine sahip olmak istiyorum.AngularJS - Önceden var olan öğelerle ng-yinelemesi nasıl yapılır

Not: AngularJS InterpolateProvider olarak {[{ }]}'u ayarlamıştım.

<ul ng-controller="ListController"> 
    {% for item in existing_list %} 
     <li> 
      <span>{{item.firstName}}</span> 
      <span>{{item.lastName}}</span> 
     </li> 
    {% endfor %} 

    <li ng-repeat="item in items"> 
     <span>{[{item.firstName}]}</span> 
     <span>{[{item.lastName}]}</span> 
    </li> 
</ul> 

Şimdi, ng-controller

kullanarak bu öğeleri işlemek istediğiniz HTML örnek Sorum şu

function ListController($scope){ 
    $scope.items = [{firstName: "Bob", lastName: "Smith"}]; 
} 

app.js, nasıl ekleyebilir Django tarafından oluşturulan önceden mevcut liste öğeleriile birleştirilecek?

+1

JSON olarak verileri birleştirmek ve tüm öğeleri oluşturmak için daha mantıklı gibi görünüyor ng-tekrar. Sunucudaki listenin sabit kodlama bölümünün dezavantajı daraltmak için listeyi açıyor. – charlietfl

+0

Sadece bunun nasıl çözüldüğünü merak ediyorsanız. Şu anda aynı sorunla karşı karşıyayım. –

cevap

2

Şimdi nasıl yapıyorum, mevcut verileri kapsam içine enjekte etmek için ngInit kullanıyor. Yani tür gerekecek:

<ul ng-controller="ListController" ng-init='items = {% existing_list.toJSON() %}'> 

(üzgünüm, ben JSON nesne seri nasıl bilmiyorum)

+0

Cevabınız için teşekkürler. Bunu düşündüm ama JSs'nin js tarafından kullanılması için bu tam olarak baskı yönteminden kaçınmak istiyorum. – AlexCheuk

İlgili konular