Табы на angularjs, как делать условие ?

UPD.
Разобрался как реализовать.
Готовый пример:
andrApp.controller('tabsMenu', ['$scope',
                function tabsMenu($scope) {
                    $scope.tab = 0;
                    $scope.settingsMenu = [
                        {
                            id: 0,
                            name: 'Фотоальбом',
                            desc: 'Загрузить/Удалить'
                        },
                        {
                            id: 1,
                            name: 'Я',
                            desc: 'Основные настройки'
                        },
                        {
                            id: 2,
                            name: 'Я путешественник',
                            desc: 'Настройка путешествий'
                        }
                    ];

                    $scope.setTab = function(id, $index) {
                        $scope.showTab = id;
                    };
            }])


<section>
            <article ng-controller="tabsMenu" class="ng-tab">
            <ul>
                <li ng-repeat="item in settingsMenu" ng-class="{active:showTab === $index}" ng-click="setTab(item.id, $index)">
                    <p>[[item.name]]</p>
                    <p ng-show="showTab === $index">[[item.desc]]</p>
                </li>
            </ul>
            </article>
        </section>


Вопрос убрал подальше pastebin.com/ZJacw6Er
  • Вопрос задан
  • 4441 просмотр
Решения вопроса 1
sensus
@sensus Автор вопроса
Обновил вопрос, решение предоставил =)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Здравствуйте, Вы это хотели?

<div ng-controller="tabsMenu" ng-init="tab = 3; settingsMenu" class="ng-tab">
    <ul>
        <li ng-repeat="item in settingsMenu" ng-class="{active:tab === settingsMenu[$index].id }" 
             ng-click="tab = settingsMenu[$index].id">
            <p>{{item.name}}</p>
            <p ng-show="tab === $index">{{ item.desc }}</p>
        </li>
    </ul>
</div>


??
Ответ написан
miraage
@miraage
Старый прогер
Не забывайте о том, что ng-repeat создает новый scope, поэтому примитив не попадет в вышестоящий scope.
Я в таких целях использую методы, а-ля data-ng-click="setTab($index)"или data-ng-click="setTab(item.id)".
Ответ написан
Комментировать
<div ng-repeat="data in res.results" ng-show="data.id==1">
     {{data.name}}
 </div>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы