We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

ejTab dynamic data binding

Hello. I have a problem with dynamic tabs adding. I use Angular2 and Syncfusion components. When I change datasource for ejTab, it don't initialize li items again.

Here is normal view after page opening:



And code before rebinding:



But after rebinding I see strange situation:



Code changes too:



I use command .ejTab for tab's initializing - when datasource changes, it calls command .ejTab:

setTimeout(() => {
(<any>jQuery(this.elementRef.nativeElement).find("#tabsContainer"))
.ejTab({ showCloseButton: "true" });
}, 5000);

What I am doing wrong?

1 Reply

KR Keerthana Rajendran Syncfusion Team July 13, 2016 06:26 PM UTC

Hi Denis, 

Thank you for contacting Syncfusion support 

In order to add  tab item dynamically in Angular 2 please use the below given code snippet in your sample 

In component.html 

We have added a button through which we can add tab item dynamically on button click through additem() method of tab 



<code> 


<ej-tab  [showCloseButton]="true" #tab1> 
    <ul> 
        <li><a rel='nofollow' href="#twitter">Twitter</a></li> 
        <li><a rel='nofollow' href="#facebook">Facebook</a></li> 
        <li><a rel='nofollow' href="#whatsapp">WhatsApp</a></li> 
    </ul> 
    <div id="twitter"> 
        Twitter is an online social networking service that enables users to send and read short 140-character messages called "tweets". 
        Registered users can read and post tweets, but those who are unregistered can only read them. Users access Twitter through the website interface, SMS or mobile device app Twitter Inc. is based in San Francisco and has more than 25 offices around the world. 
        Twitter was created in March 2006 by Jack Dorsey, Evan Williams, Biz Stone, and Noah Glass and launched in July 2006. The service rapidly gained worldwide popularity, with more than 100 million users posting 340 million tweets a day in 2012.The service also handled 1.6 billion search queries per day. 
    </div> 
    <div id="facebook"> 
        Facebook is an online social networking service headquartered in Menlo Park, California. Its website was launched on February 4, 2004, by Mark Zuckerberg with his Harvard College roommates and fellow students Eduardo Saverin, Andrew McCollum, Dustin Moskovitz and Chris Hughes.The founders had initially limited the website's membership to Harvard students, but later expanded it to colleges in the Boston area, the Ivy League, and Stanford University. It gradually added support for students at various other universities and later to high-school students. 
    </div> 
    <div id="whatsapp"> 
        WhatsApp Messenger is a proprietary cross-platform instant messaging client for smartphones that operates under a subscription business model. It uses the Internet to send text messages, images, video, user location and audio media messages to other users using standard cellular mobile numbers. 
        As of February 2016, WhatsApp had a user base of up to one billion,[10] making it the most globally popular messaging application. 
        WhatsApp Inc., based in Mountain View, California, was acquired by Facebook Inc. on February 19, 2014, for approximately US$19.3 billion. 
    </div> 
              <div id="new" style="display:none"> The command-line compiler, VBC.EXE, is installed as part of the freeware .NET Framework SDK. Mono also includes a command-line VB.NET compiler. The most recent version is VB 2012, which was released on August 15, 2012.                   
        </div>      
</ej-tab> 
<br> 
<button (click)="tab1.widget.addItem('#new','New Item')">Add Item</button> 
</code> 

In component.ts: 

Refer the path for component.html sample in templateUrl of typescript file 

<code> 

import {Component} from '@angular/core'; 
import {CORE_DIRECTIVES, FORM_DIRECTIVES} from '@angular/common'; 
import {EJ_TAB_COMPONENTS} from 'ej/tab.component'; 

@Component({ 
  selector: 'sd-home', 
  templateUrl: 'app/components/tab/tab.component.html', 
   
  
 directives: [EJ_TAB_COMPONENTS, CORE_DIRECTIVES] 
}) 

export class TabComponent { 
    
</code> 


Please let us know if any concern 

Regards, 
Keerthana. 


Loader.
Live Chat Icon For mobile
Up arrow icon