#javascript #jquery #angular #typescript
#javascript #jquery #angular #typescript
Вопрос:
Я использую семантический пользовательский интерфейс в angular, и у меня есть следующий код:
componentProperty: boolean = false;
ngOnInit() {
(<any>$('.ui.dropdown')).dropdown();
(<any>$('.ui.input')).popup({
on: 'focus',
onShow: (e) => {
return this.componentProperty;
}
});
}
всплывающее окно функции определяется семантическим пользовательским интерфейсом. Семантический пользовательский интерфейс основан на Jquery.
Здесь свойство componentProperty не определено.
Комментарии:
1. Пожалуйста, поделитесь кодом, в котором componentProperty присваивается значение. Приведенный выше код просто объявляет его, поэтому его значение не определено.
2. Что вы видите для temp как в: let temp = (<any> $(‘.ui.dropdown’))
Ответ №1:
Это касается области видимости. Попробуйте:
ngOnInit() {
const me = this;
(<any>$('.ui.dropdown')).dropdown();
(<any>$('.ui.input')).popup({
on: 'focus',
onShow: (e) => {
return me.componentProperty;
}
});
}
Ответ №2:
Вы пытались определить функцию OnShow в области компонентов?
ngOnInit() {
const onShow = () => this.componentProperty;
(<any>$('.ui.input')).popup({
on: 'focus',
onShow
});
}
И если это все равно не сработает:
const doOnShow = () => this.componentProperty;
(<any>$('.ui.input')).popup({
on: 'focus',
onShow: doOnShow.bind(this)
});