2013-04-08 60 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-重复。服务器上列表硬编码部分的缺点是失去了使用角度过滤列表的能力 – charlietfl 2013-04-08 03:34:56

+0

只是想知道你是否解决了这个问题以及如何解决问题。我目前正面临同样的问题。 – 2014-08-23 15:26:21

回答

2

我现在的做法是使用ngInit将现有数据注入到范围中。所以,你会有种:

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

(对不起,我不知道如何序列化对象JSON)

+0

感谢您的回答。我想到了这一点,但我真的想避免打印JSON所使用的确切方式 – AlexCheuk 2013-04-10 08:11:36

相关问题