2016-11-15 9 views
1

У меня есть простое боковое меню в моих приложениях с угловым 2, в котором отображается список classRoom, каждый класс Room имеет много пользователей.Угловая 2, перемещающаяся в разных экземплярах одного и того же компонента с различными данными для отображения

Я перемещаюсь между различными экземплярами с помощью routerLink.

Моя проблема в том, что когда я нажимаю на первый элемент: -класс номер комнаты 1 У меня нет проблем, и список пользователей в порядке, но когда я нажимаю на номер комнаты класса 2, данные не меняются, поэтому отображаемые пользователями являются пользователями номера комнаты класса 2.

Как я могу рассчитать Угловое Чтобы повторно отобразить компонент с новыми данными?
Любые предложения?

UPDATE Пример кода

бок menu.component.html

<li *ngFor='let classRoom of classRooms'> 
    <li> 
     <a [routerLink]="['/app/users/', classRoom.name]">**Users**</a> 
    </li> 
    <li>....</li> 
    <li>....</li> 
</li> 

routes.ts

.... 
{ path: 'app/users/:classroom', component: usersComponent}, 

Так что, когда я нажимаю на ссылку "пользователей , я вызываю пользовательский компонент, получаю имя класса по маршруту param и сделать запрос получения, чтобы получить пользователей.

С первоклассным номером проблем нет, но если я нажму на ссылку пользователя второго класса, никаких изменений не произойдет.

+2

Yup, показать код ;-) –

+0

да , я добавлю код за несколько минут –

+0

не уверен, но это может вам помочь: http://stackoverflow.com/questions/39900212/in-angular-2-how-to-get-input-value-updated-inside- Компонент – sebap

ответ

1

Я вижу, что вы загружаете userComponent на свой маршрут.ts. Вы можете попробовать, как показано ниже:

<div class="col-md-3" *ng-for="let classRoom of classRooms"> 
    <a [routerLink]="['/app/users/', classRoom.name]"> 
     <user-component></user-component> 
    </a> 
</div> 
+0

У меня нет classrom compone nt! У меня есть объект classRooms, с которым я получаю http-запрос, затем я использую * ngFor, чтобы отображать имя класса в боковом меню, в каждом классеRooms я хотел бы отображать usersComponent –

+0

@NacimIdjakirene: Cna вы проверяете мой обновленный ответ ... – Thalaivar

+0

Я не могу этого сделать, так как нужно отображать userCOmponent не в боковом меню, а на главной странице –

0

Ваш routerLink нужен терминальный маршрут

[routerLink]="['parent', 'child', query.id]" 

, чтобы понять это более ясно, просмотреть этот see my question and answer