而不是分配
[options]="format(obj.tags)"
直接在模板中,这可能会导致方法在每个更改检测周期中触发,您应该为
format()
方法,并在模板中使用该属性。
假设你有
obj
在中提供
ngOnInit()
(否则,您应在
obj公司
属性可用于组件中的值),
在您的组件中,
optionsForSelect: { label: string; value: string; }[]; // specifying the type, not necessary though, a type of 'any[]' would be sufficient
format(tags){
arr=[];
_.each(tags,function(tag){
arr.push({label: tag, value: tag});
}
return arr;
}
ngOnInit() {
//after you get 'obj' property
this.optionsForSelect = this.format(this.obj.tags);
}
在模板中,
<ng-select
placeholder="Select a primary option..."
[(ngModel)]="obj.tagPrimary"
[options]="optionsForSelect">
</ng-select>