AngularJS - 如何处理已存在的 ng-repeat 项

6

我正在尝试使用ng-repeat来创建一个列表,但是我希望已经存在的列表项目可以使用Django进行渲染。

注意:我已将{[{ }]}设置为我的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生成的预先存在的列表项添加到$scope.items中?

1
似乎将数据合并为JSON,并使用ng-repeat创建所有项目会更有意义。在服务器上硬编码列表的缺点是失去了使用angular过滤列表的能力。 - charlietfl
请问您解决了这个问题吗?如果解决了,能否分享一下解决方法?我现在也遇到了同样的问题。 - Alain Jacomet Forte
1个回答

2

我现在所采用的方法是使用ngInit将现有数据注入到作用域中。因此,你会得到以下类似的结果:

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

抱歉,我不知道如何将对象序列化为JSON格式。


谢谢你的回答。我已经考虑过了,但我真的想避免使用这种将JSON打印出来供js使用的确切方式。 - AlexCheuk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接