5 개 항목의 목록이 있고 사용자가 원하는 항목을 목록에서 삭제할 수있게하려고합니다. 이 경우 jQuery를 사용하면 특정 삭제 단추 클래스를 가리키고 'this'를 사용하여 가장 가까운 부모를 가리킨 다음 '.remove()'를 사용하여 DOM에서 제거 할 수 있습니다. 예 :각도 2의 .remove() 함수
$('.delete').click(function(){
$(this).closest('li').remove();
})
ul li {
padding:0.5em;
list-style-type:none;
margin-bottom:0.5em;
}
ul li span a {
margin-left:100px
}
ul li span a:hover {
text-decoration:underline;
cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>Item 1<span class="delete"><a>Delete</a></span></li>
<li>Item 2<span class="delete"><a>Delete</a></span></li>
<li>Item 3<span class="delete"><a>Delete</a></span></li>
<li>Item 4<span class="delete"><a>Delete</a></span></li>
<li>Item 5<span class="delete"><a>Delete</a></span></li>
</ul>
내가 각도 2에서 동일한 기능을 할 수 있는지 여부를 하시겠습니까?
실제 시나리오 코드는 다음과 같습니다 다른 사람이 지적
@Component({
selector: 'myLevels',
template: `
<template #clone>
<div class="addedLevel">
<p>Paragraph Two</p>
<span #element><i class="fa fa-trash deleteLevel" (click)="removeLevel()"></i></span>
</div>
</template>
<div #container></div>
<button (click)="cloneTemplate()">Clone Template</button>
`,
})
export class level implements OnInit, AfterViewInit {
// What to clone
@ViewChild('clone') template: any;
// Where to insert the cloned content
@ViewChild('container', { read: ViewContainerRef }) container: any;
cloneTemplate() {
this.container.createEmbeddedView(this.template);
}
constructor(private element: ElementRef) { }
ngOnInit() { }
ngAfterViewInit() {
// $(document).on('click', '.deleteLevel', function() {
// $(this.closest('.addedLevel')).remove();
// })
}
removeLevel() {
debugger;
console.log(this.element);
this.element.nativeElement.querySelector('.addedLevel').remove();
}
}
예상이 무엇을 희망 @sunit 파일. * ngFor를 사용하여 항목 반복 및 이벤트 바인더 및 이미 터를보십시오. 각도 2 문서를 참조하십시오. – Amit
자, 실제 시나리오는 하나의 HTML 템플리트가 있는데, 복제하고 있으며 선택기를 사용하여 상위 div에 추가합니다. 삭제 아이콘이 너무 있습니다. 이제, 위와 동일한 기능을 원합니다. 이 경우 * ngFor를 사용하지 않습니다. 템플릿 복제 및 버튼 클릭 추가. –
실제 시나리오 코드는 무엇입니까? – Amit