2015-03-25 25 views
5

Tôi gặp sự cố với Angularjs Bootstrap Tabs. Tôi muốn một tab động được hoạt động theo mặc định nhưng có vẻ như tôi không thể miễn là tôi có một tab tĩnh bên trong cùng một tabset.Góc khởi động - Tab mặc định hoạt động (tab động)

<tabset ng-init="tab.active = true"> 
    <tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active"> 
     {{tab.content}} 
    </tab> 
    <tab heading="Static"> 
     Static 
    </tab> 
</tabset> 

'

Đây là một plunkr để giải thích:

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

Tôi muốn các "Dynamic Title 1" được chọn theo mặc định. Có thể với chỉ thị hoạt động hay tôi phải tạo một hàm sẽ xử lý trạng thái hoạt động?

Trả lời

6

Hãy thử điều này.

<tabset> 
    <tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" ng-init="tab.active = $index === 0"> 
    {{tab.content}} 
    </tab> 
    <tab heading="Static"> 
    Static 
    </tab> 
</tabset> 

Working Plnkr

+0

Cảm ơn rất nhiều! Nó hoạt động hoàn hảo. Làm thế nào bạn tìm thấy cách để làm điều đó? Trực tiếp trong mã chỉ thị? – Templar

+0

Aww, vấn đề mới, nó đã phá vỡ một cái gì đó. Bây giờ tôi không thể thay đổi trạng thái hoạt động từ bộ điều khiển .. Liên kết Plnkr: http://plnkr.co/edit/xV7OlVBkYYOv44IdsUHa?p=preview Nhấp vào "Mới", trạng thái hoạt động không thay đổi thành tab mới được tạo. Nếu bạn tắt ng-init, nó hoạt động. Bất kỳ ý tưởng ? – Templar

+0

Sử dụng $ timeout để cập nhật tab mới được thêm. Cập nhật plnkr: http://plnkr.co/edit/9N4RMaasrG8stw37bHKH?p=preview –

Các vấn đề liên quan