Angular 5: просмотр не обновляется

0

На мой взгляд, я делаю список навыков, используя наблюдаемые и * ngFor

Я извлекаю навыки с помощью следующего кода:

getSkills(): void {
    this.skillsDataService.getSkills()
        .subscribe(
            skills => this.skills = skills.sort( this.skillSort )
        );
}

Однако я узнал, что лучше использовать именованные функции и не слишком много вложенности. Поэтому я изменил код на это:

getSkills(): void {
    this.skillsDataService.getSkills()
        .subscribe(
            this.processSkills
        );
}

processSkills(skills: Skill[]): void {
    this.skills = skills.sort( this.skillSort );
}

И теперь представление не обновляется, хотя this.skills заполняется.

Теги:
angular
rxjs
observable

1 ответ

2
Лучший ответ

Ваше "это" в processSkills не будет контроллером, когда вы так называете это. Чтобы понять, что я имею в виду, вам нужно просто выйти из этого "in" in processSkills и взять курс на то, как "это" работает в JavaScript. Чтобы заставить ваш код работать, попробуйте это вместо этого:

.subscribe(
        this.processSkills.bind(this)
    );
  • 0
    Омг, я прав. Я должен был знать .. Новый для машинописи, хорошо знаю с JavaScript. Thnx! (примет ваш ответ, как только разрешено stackoverflow)
  • 1
    Хорошо, рад, что смог помочь :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню