Angular 2 sortable lists
Minimize component state

It's better to use a single field listToShow rather than having a show* field per each list. You don't have to change anything in your template if you wrap the show*List() around listToShow using accessor syntax.

private listToShow: number = 1;
get showingListOne(): boolean { return this.listToShow === 1; };
get showingListTwo(): boolean { return this.listToShow === 2; };
get showingListThree(): boolean { return this.listToShow === 3; };

public showFirstList(): void {
  this.listToShow = 1;
}

public showSecondList(): void {
  this.listToShow = 2;
}

public showThirdList(): void {
  this.listToShow = 3;
}


Injectable

I am very positive your component does not have to be annotated with @Injectable(), therefore it should not be. The component is not really being injected anywhere, right?