2013-04-08 12 views
6

ng-repeatをリストに使用しようとしていますが、Djangoでレンダリングされている既存のリストアイテムが必要です。AngularJS - 既存のアイテムでng-repeatを処理する方法

注:私はAngularJS InterpolateProviderとして{[{ }]}を設定しました。

HTML今すぐサンプル

<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> 

が、私は私の質問は、私が追加することができますどのように、あるng-controller

app.js

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

を使用してこれらの項目を処理したいですDjangoが生成した既存のリスト項目をと結合する?

+1

は、JSONなどのデータをマージし、持つすべてのアイテムを作成するために、より理にかなってのように思えますng-repeat。サーバー上のリストのハードコーディング部分の欠点は、フィルターリスト – charlietfl

+0

を使用する能力を失うことです。これを解決したかどうかは疑問です。私は現在、この同じ問題に直面しています。 –

答えて

2

私が今やっていることは、ngInitを使ってスコープに既存のデータを注入することです。ですから、のようなものがあるでしょう:

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

は(申し訳ありませんが、私はJSONにオブジェクトをシリアライズする方法がわからないが)

+0

あなたの答えをありがとう。私はそれを考えましたが、実際にjsによって使用されるようにJSONを印刷するこの正確な方法を避けたい – AlexCheuk