0

我陷入了一個非常危險的境地。我有一個下面的手風琴小組,我想根據邏輯中的邏輯打開。我也應該被允許一次打開兩個標籤。當頁面加載第一個標籤時也應該打開。我有以下的代碼,並試圖使用表達式下面的方式,但沒有成功到現在:Bootstrap風琴組問題

<accordion close-others="true" > 
    <accordion-group data-ng-repeat="accordion in appTabMap[tabKey.id]" is-open="($index == 0 && accordion.enableValidation === '') || (accordion.enableValidation === 'true')"> 
    </accordion-group>  
</accordion> 

即使accordion.enableValidation是真實的,我不能夠打開他們,我不知道爲什麼。如果選項卡關閉,則邏輯無法再次打開選項卡。我很困惑 任何幫助表示讚賞

+0

可能添加的jsfiddle? :) –

回答

0

基本上有兩個問題:

  1. close-others需求等於false,如果要打開多個組。
  2. is-open中的表達式必須是可分配的,因爲Angular會根據組是否打開(true)或不是(false)更新值。例如,is-open="isOpen[$index]"

見琴:https://jsfiddle.net/masa671/c3d5qgdb/

此外,還應該提高在JavaScript處理布爾變量(enableValidation)的方式,但我並沒有修復然而,在小提琴(保持它更接近原始代碼)。

UPDATE:

另一個小提琴演示,如何is-open表達式可以重新評估(與Re-init按鈕):https://jsfiddle.net/masa671/jewap5om/

+0

我以前試過這....這不工作,當標籤已打開,然後我通過點擊關閉它..然後它不允許isopen表達式打開標籤.. –

+0

你只需要告訴Angular,當'is-open'表達式應該重新評估時。看看我的更新上面如何做到這一點(用一個按鈕)。 – masa

+0

我用類似的方法,但它沒有打開這裏是我的代碼HTML代碼 JS的代碼是在下面的評論 –