说明:我的ts文件中有一个js代码。它从点击的范围获取属性,我想在.ts变量中捕获属性的值
请参阅我的ngOnInit代码,我只需要link_id
中this.actionid
的值并调用函数callpagedata()
我在home.ts
中有以下js代码:
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的值并调用函数callpagedata()
callpagedata(){
}
答案 0 :(得分:0)
要获取HTML属性,请执行node.getAttribute(attr)
。 node.attributes
也返回一种数组。 E.g。
this.actionid.getAttribute('action')
(这得到属性N的当前值,而不是缓存值。在E4X中,执行(node@name).toString()
)
要访问link_id
中的action_id
(这是您之前的问题版本中的元素),有多种方法。我不确定action_id
是否是一个常数元素或任何东西,所以我会给你一个基本的例子:
/* Single variable that stores an unique link_id at a time.
*/
private g_link_id: any = null;
ngOnInit() {
mainDiv.addEventListener("click", (function (event) {
console.log('Inside Event Listener');
event.preventDefault();
g_link_id = $(event.target).attr("action");
console.log("Actionid is:: " + g_link_id);
});
}
accessLinkIdInActionId() {
g_link_id // ?
}
g_link_id
只是一个预先定义的变量。其他方法是将actionid
映射到link_id
。
答案 1 :(得分:-1)
如果您正在寻找以Angular / Ionic方式做事,您可以简单地使用click指令:
Home.html:
<span class="button-text" action="createNew" (click)="onSpanClick($event);">
Click me!
</span>
Home.ts
private actionId: string;
onSpanClick(event) {
// Get the span that was clicked on from the event:
let element = event.target;
this.actionid = element.getAttribute('action');
// actionId is now 'createNew'.
}