Из моего кода у меня есть функция, которая может создавать элементы div несколько раз (с surroundContents()
), как я могу заставить эти созданные элементы div вызывать функцию внутри класса на той же самой странице?
Точнее, мне нужно, чтобы любой из этих элементов div (созданный с помощью функции createDiv()
) мог с помощью щелчка вызвать функцию с именем clickCreatedDiv(arg)
, расположенную в MyPage class
, и передавать любую строку в качестве аргумента.Я попробовал это element.setAttribute('(click)', 'clickCreatedDiv()');
, но безуспешно.Как мне добиться этого поведения?
export class MyProvider {
wrapSelection(comment) {
let element = document.createElement("div")
element.setAttribute('(click)', 'clickCreatedDiv()');
element.surroundContents(element);
}
}
import { MyProvider } from '../../providers/my-provider';
@Component({
selector: 'page-mypage',
templateUrl: 'mypage.html',
})
export class MyPage {
constructor(public myprovider: MyProvider) {}
createDiv() {
this.myprovider.wrapSelection();
}
clickCreatedDiv(arg) { // This is what I want to trigger with click
alert('click ' + arg);
}
}