2016-05-16 3 views
0

При использовании ng-if на вкладке, если этот оператор возвращает true, вторая вкладка будет активной, а не первой.Угловая загрузочная вкладка ng-if bug

<tabset> 
    <tab heading="Static title" ng-if="aaa == true">Static content</tab> 
    <tab heading="tab2">Content 2</tab> 
</tabset> 

Я чувствую, что ive попробовал все, но не повезло.

вот пример задачи:

http://plnkr.co/edit/Hpif920RrB6nS4AB4Mwj?p=preview

Я надеюсь, что некоторые из вас могли бы быть в состоянии помочь мне!

ответ

2

попробуйте использовать активный атрибут. как этот

<tabset> 
    <tab heading="Static title" active="aaa == true" >Static content</tab> 
    <tab heading="tab2">Content 2</tab> 
</tabset> 
+0

я хочу вкладка быть полностью исчезла, если ааа ложь настолько печально это не работает :( –

+0

U можно сделать - <вкладка заголовок = «Статический название» активная = «ааа == правда» ng-if = "aaa === true"> Статический контент – spyder

1

на самом деле не ошибка, это выглядит как <tabset> меняется объем, поэтому aaa будет ссылаться на какой контроллер <tabset> создал. Обратитесь к собственному контроллеру, TabsDemoCtrl.aaa

<tabset> 
    <tab heading="Static title" ng-if="TabsDemoCtrl.aaa == true">Static content</tab> 
    <tab heading="tab2">Content 2</tab> 
</tabset> 

EDIT: Если вы проверяете свои DOM элементов, вы можете увидеть <tabset> используют изолированную сферу: tabbable ng-isolate-scope

0
<tabset> 
    <tab heading="Static title" active="aaa == true" ng-if="aaa=== true">Static content</tab> 
    <tab heading="tab2">Content 2</tab> 
</tabset> 

Это должно работать

0

Эти потому что значение внутри aaa верно, поэтому оно отображает статическое название, но вы не добавили код для активации, чтобы он не активировался. Код изменения путем

<tab heading="Static title" ng-if="aaa" active="aaa">Static content</tab> 
Смежные вопросы