Я занимаюсь разработкой веб-приложения на Angular 6. Я использую библиотеку bootstrap-select .Если я создаю пользовательский компонент, получающий на входе одно значение (или массив значений), например:
@Component({
selector: 'input-select',
templateUrl: './input-select.component.html',
})
export class InputSelectComponent extends InputBase implements OnInit, AfterViewInit {
@Input() options: any[];
@Input() title: string;
}
Это простой шаблон:
<select
class="form-control selectpicker show-tick"
data-live-search="true"
[title]="title"
name = "name"
[(ngModel)] = "value"
(ngModelChange) = "onChange()"
>
<option *ngFor="let option of options" [value]="option.value">{{option.label}}</option>
</select>
Если я использую мой *Компонент 1009 *, передающий массив во вход (параметры), таким образом:
export class AppComponent implements OnInit {
my_options: any[];
ngOnInit() {
this.my_options = [
{label: 'Value 1', value: 1},
{label: 'Value 2', value: 2},
{label: 'Value 3', value: 3},
{label: 'Value 4', value: 4}
];
}
Шаблон такой:
<input-select
title="Select"
[options]=my_options
>
</input-select>
Результат правильный (списокварианты показаны).Реальная проблема заключается в том, что если я динамически (во время выполнения) добавляю другие значения к объекту my_option
, отображаемый список (из input-select
) всегда будет исходным!Это как если бы копия объекта была сделана, и любое изменение объекта my_options
не обнаружено.В результате список параметров, отображаемый input-select
, всегда один и тот же, хотя я бы хотел его изменить.Кто-нибудь знает в чем я был не прав?