我有问题。
我想将一个切换按钮与以下内容链接并列出,并像按钮一样使用此切换的ID。
//Here my fonction to convert
transform(d)
{
alert(d); //when i put this.id here i have undefined value
return Number(d);
}
<ion-toggle id="0" name="toggle1" [(ngModel)]="listToggle1[this.id)]"></ion-toggle>
<!--Here the pb is the "id" is a string and for the list i need a key valu in int -->
<!--This work but it's not dynamic -->
<ion-toggle id="0" name="toggle1" [(ngModel)]="listToggle1[0]"></ion-toggle>
<!-- i try this -->
<ion-toggle id="0" name="toggle1" [(ngModel)]="listToggle1[transform(this.id)]" ></ion-toggle>
<!--i call a function with the id in parameter, and this typescript function will convert the string id in an int value
But the pb is here in transform(this.id) the this.id is undefined-->
<!--This work but again not dynamic -->
<ion-toggle id="0" name="toggle1" [(ngModel)]="listToggle1[transform('0')]" ></ion-toggle>
我希望有人可以帮助我。
答案 0 :(得分:0)
我建议使用:(ionChange),然后检测在组件中单击了哪个元素,如下所示:
HTML:
<ion-toggle id="0" name="toggle1" (ionChange)="listToggle1($event)"></ion-toggle>
和TS:
listToggle1(event) {
console.log(event._elementRef.nativeElement.id);
}
这会打印切换元素的ID,然后根据需要进行处理。
答案 1 :(得分:0)
最后,就像我说的,我想克隆/复制一些html元素
我的项目中,我有一种警报,超出了用户的配置范围(计时器文本通知...)
我有一个“模板”,通常可以复制它,以便使用不同的参数创建多个警报
因此,当用户单击“添加新”时,通常会添加与“表单”相同的html元素,但带有新值。 那是主意。但是我没有很好的克隆功能
duplicate(d) {
alert(d);
var i = 0;
var original = document.getElementById(d);
var clone = original.cloneNode(true); // "deep" clone
clone.id = Number(d)+1;
alert(clone.id);
original.parentNode.appendChild(clone);
}
我唯一可以修改的是新元素的ID(我无法修改其他类似ngmodel的ID),当我克隆和元素时,我也无法修改html页面中的新元素(从角度来看)的用户)
一些人知道复制或复制html元素的好方法吗?