在一个页面上使用相同的ng-repeat - 最佳实践?

时间:2015-06-30 14:59:42

标签: angularjs

需要来自视图中两个位置的ng-repeat的数据。下面的代码有效,但我不确定这是否是这样做的。 (我是Angular的新手。)

如果用户点击插座选项,则会显示插座产品。首先,我将产品加载到outlet-option下面,如果用户点击某个选项,则使用jQuery移动到productsWrapper。但是我需要再次编译它,这使我觉得它有点乱。

只有一个" #productsWrapper"和一个" .outlet",所以我想出了两次使用ng-repeat。但这是要走的路吗?

<div id="productsWrapper">
    <div ng-repeat="element in elements track by $index" class="products" style="display: none;" id="prod-{{element.wonelement_id}}">
        <outlet-product ng-repeat   = "option in element.options"
                        class       = "product"
                        option-data = "option"
                        element-data= "element"
                        chosen-data = "chosen">
        </outlet-product>
    </div>
</div>
<div class="outlet">
    <div ng-repeat="element in elements track by $index">
        <outlet-option
                element-data = "element"
                option-data  = "element.option"
                chosen-data  = "chosen"
                app-settings = "app">
        </outlet-option>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

我认为您提出的建议在典型的AngularJS方式中看起来很好。

如果您正在对ng-repeat子句应用过滤器,那么我建议在控制器中提前应用该过滤器,以便它只运行一次。但是由于你在数据上根本没有使用任何过滤器,我认为它很好,因为你拥有它。