Проблема при выборе параметров маршрута с помощью route.snapshot

Контейнеры Python содержат ссылки на другие объекты. См. Этот пример:

>>> a = []
>>> b = [a]
>>> b
[[]]
>>> a.append(1)
>>> b
[[1]]

В этом b есть список, содержащий один элемент, который является ссылкой на список a. Список a изменен.

Умножение списка на целое эквивалентно добавлению списка к себе несколько раз (см. операции общей последовательности ). Итак, продолжаем с примера:

>>> c = b + b
>>> c
[[1], [1]]
>>>
>>> a[0] = 2
>>> c
[[2], [2]]

Мы видим, что список c теперь содержит две ссылки на список a, который эквивалентен c = b * 2.

Python FAQ также содержит объяснение этого поведения: Как создать многомерный список?

0
задан Thivanka Saranatha 24 March 2019 в 04:58
поделиться

1 ответ

Вместо того чтобы использовать ActivatedRoute.snapshot для получения параметров маршрута, подпишитесь на ActivatedRoute.paramMap Observable для получения новых id:

this.route.paramMap.subscribe((params : ParamMap)=> {  
      this.id = +params.get('id');
      console.log("Id is :", this.id);        
}); 
0
ответ дан Amardeep Bhowmick 24 March 2019 в 04:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: