2015-06-30 27 views
1

需要來自視圖內兩個位置的ng-repeat的數據。下面的代碼工作,但我不知道這是否是這樣做的方式。 (我是Angular的新手)。在一頁上使用相同的ng-repeat - 最佳實踐?

如果用戶點擊插座選項,插座產品將顯示。首先,我將產品加載到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> 
+2

對我來說很好。 –

回答

1

我認爲你提出的建議在典型的AngularJS方式中看起來很好。

如果你在ng-repeat子句中應用過濾器,那麼我會建議在控制器中提前應用該過濾器,以便它只能運行一次。但是由於你在數據上根本沒有使用過濾器,所以我認爲你可以使用它。

+2

爲什麼有人會投票呢? – shieldstroy

+1

@shieldstroy因爲有人不喜歡這個問題,所以不贊成這個問題,只是不停地往下看,因爲嘿,爲什麼不呢,對吧? –