2016-05-24 4 views
0

私は、隠され、動的に表示されるタブがあるタブのセットを扱っています。ng-hideのMdタブ - 以前に選択したタブを有効にしたままにする

問題は、タブが非表示になって表示されると、選択されたタブになります。私は、タブが表示された後に、以前に選択されたタブがまだ選択されていることを望みます。

ここに簡単な例があります。この場合、「Three」が選択され、「Two」タブを表示するためにボタンを押すと、「Three」が選択されたままになります。ここで

https://jsfiddle.net/b5aw533a/2/

は、私はあなたの問題は$scope.selectedTabが選択されたタブのインデックスである、2に等しいということである。この

https://jsfiddle.net/pspL9c7s/1/

答えて

0

を達成するためにmd-activeを使用してみまし方法の例です。

新しいタブを追加すると、それに応じて$scope.selectedTabを更新する必要があります。

基本的に、選択したタブの前にタブを追加する場合、選択したタブのインデックスを$scope.selectedTab++でインクリメントする必要があります。新しいタブが後に来たら、あなたはする必要はありません。まだかかわらず、疑問を提起

$scope.showTab = function() { 
    // we add a tab before, so we update the index of the selected one 
    $scope.selectedTab++; 
    $scope.shouldShow = true; 
} 

https://jsfiddle.net/v8jL75tf/

+0

:なぜ 'MD-オートセレクト機能= "false" が'事をしないのですか?これが新しいタブの追加とみなされた場合、その指示文を追加して動作させることができるはずですが、明らかにそうではありません。 –

+0

私は 'autoselect'がここに関わっています。指示文が' md-selected'で選択されたタブであると仮定しているインデックスがあります。配列を変更すると、インデックスは配列の同じ項目を参照しません。 – floribon

+0

そうですが、その場合は 'autoselect'は決して関与しません。つまり、常に選択されたインデックスがあります。 'autoselect'は@Dallinが尋ねたことを正確に行うべきです、あるいはドキュメントを更新するべきです。 (私はここでニックピッキングしていません、ちょっと混乱しています。) –

関連する問題