我认为我缺少一些非常基本的东西,请原谅我,但我确实找不到问题。
我只想使用指令设置ng-select的参数(包括项目)。它正在处理一些诸如clearAllText的静态属性,但是我不能使用指令来更改项目。
答案 0 :(得分:1)
我可能是错的,但是我认为您想要的是不可能的。
ng-select 使用OnPush更改检测策略。因此,当您在ng-select组件中设置[items]="currenciesData"
时,更改项目的唯一方法是当currencyData引用更改时。在您的指令中,您试图更改对items
无效的currenciesData
的引用。
由于currenciesData
是ng-select
的外部变量,因此似乎无法在ng-select
内的指令中对其进行修改。
答案 1 :(得分:1)
我从优秀的开发人员朋友那里寻求帮助,这是解决方案
hostSelectComponent.ngOnChanges({
items: {
previousValue: [],
currentValue: hostSelectComponent.items,
firstChange: false,
isFirstChange: () => false,
}
});
并完成应用链接: https://stackblitz.com/edit/ng-select-update-from-directive