У меня есть ситуация, когда при нажатии на элемент html я получаю значение атрибута в home.ts
с помощью jquery. Когда кнопка нажата, я хочу вызвать функцию и передать значение этого извлеченного атрибута в переменной в вызываемой функции.
Ниже мой код:
**home.html**
<div id="mainDiv">
<span action="10004">Quick Task</span>
</div>
**home.ts**
//declare var $: any;
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import $ from "jquery"; //intentional use of jQuery
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController) {
}
actionid;
ngOnInit(){
var mainDiv = document.getElementById("mainDiv");
mainDiv.addEventListener("click", function (event) {
console.log("Inside Event Listener");
event.preventDefault();
var link_id = $(event.target).attr("action");
console.log("Actionid is:: " + link_id);
// this.actionid = link_id;
// var x = this.callpagedata();
});
}
callpagedata(){
console.log("callpagedata function fired,actionid is::", this.actionid)
}
}
Редактировать
Что-то вроде этого нужно использовать:
this.actionid = HTMLElement.addEventListener<"click">.......
onclick
) к своему HTML? - Я думаю, вам следует прочитать о привязке событий в angular. Это избавит вас от всего уродливого кода, который у вас есть в вашей функцииngOnInit(...)
, и избавит вас от необходимости использовать jQuery (по крайней мере, для этого варианта использования) —> вот краткое руководство по привязке события клика: talkingdotnet.com/how-to-bind-click-event-angular-2 - person blurfus   schedule 06.04.2018<span action="10004" onclick=callpagedata(this)>Quick Task</span>
? - person blurfus   schedule 06.04.2018this.actionid
, тогда все будет работать - person user2828442   schedule 06.04.2018this.actionid = HTMLElement.addEventListener<"click">.......
- person user2828442   schedule 06.04.2018this.actionid = document.getElementById("mainDiv"); this.actionid.addEventListener("click", () => { });
- person user2828442   schedule 06.04.2018getElementById()
иaddEventListener()
. Возможно, вы можете объяснить, откуда берется значениеaction
? Почему нельзя использовать привязку данных? - person Kokodoko   schedule 07.04.2018