0

シンプルなタブを作成しようとしています。タブ 0 のコンテンツは期待どおりに表示および非表示になりますが、タブ 1 をクリックするとスコープが true に更新されるにもかかわらず、タブ 1 は常に空白になります。

主に、コントローラーはラッパー div で開始されます。

<div ng-controller="AdvancedSettingsController as settings">

コントローラーは次のとおりです。

function AdvancedSettingsController($scope) {

    //setting tab name, and initial booleans
    $scope.tab = [
        {
            title : "Domains",
            active : true
        },
        { 
            title: "Locale",
            active : false 
        }
    ];

}

そして ng-click リスナー:

AdvancedSettingsController.prototype.tabs = function (o) {
    //set both tab active booleans to false
    for (var i = 0; i <= $scope.tab.length - 1; i++) {
        $scope.tab[i].active = false;
    }

    //set active tab boolean to true
    $scope.tab[o].active = true;

}

そして今、ng-repeat でループされたタブ オブジェクト - settings.tabs($index) は上記の関数にインデックスを渡しています:

<li data-ng-repeat="tab in settings.tab">
   <a data-ng-click="settings.tabs($index)">
      {{tab.title}}
   </a>
</li>

コンテンツは 2 つの div で保持され、次の場合があります。

<div data-ng-if="settings.tab[0].active">
   Content 1, true by default. Hides and shows as nav is toggled.
</div>

<div data-ng-if="settings.tab[1].active">
   Content 2, false by default. Never shows as nav is toggled.
</div>

最後に、Chrome は if: ngIf: settings.tab[1].active を更新しません。

4

2 に答える 2