엔터티 (예 : 사람)에 대한 논리를 구분하는 지시문을 사용하고 있습니다.
그래서 다음과 같은 사람들을 저장하는 사람들 서비스가 있습니다.
this.people = ["Person 1", "Person 2", "etc"];
그런 다음 컨트롤러는 해당 서비스를 주입하고 내 지시문이 포함 된 템플릿으로 데이터를 보냅니다. 따라서 내 템플릿은 다음과 같습니다.
<div ng-repeat="person in people">
<person name="person"></person>
</div>
이제 내 지시문에는 다음과 같은 모양의 지시문 템플릿에서 버튼을 클릭하여 호출되는 삭제 기능이 있습니다 (People 서비스도 지시문에 삽입 됨).
delete People.people[id];
문제는 내 지시문의 나머지 템플릿이 그대로 유지된다는 것입니다. 삭제시 지시문을 완전히 제거하고 싶습니다. 이것이 어떻게 가능한지? ng-hide를 사용하고 삭제시 지시문 범위에서 'deleted'속성을 true로 설정하여 숨기려고 시도했지만 비어있는 (데이터없이) 지시문 템플릿이 남아 있습니다. scope. $ destroy (), element.remove () 등을 살펴 보았지만 아무것도 작동하지 않았으며 문서에서 아무것도 명확하게 보이지 않습니다 ...
어떻게 지시어를 완전히 제거 / 제거 할 수 있습니까 (즉, 삭제 함수를 호출 할 때)?
바이올린 : http://jsfiddle.net/VSph2/107/
삭제를 클릭하면 데이터가 사라지지만 지시문 (및 템플릿)은 그대로 유지되어 '이름 :'이 표시됩니다. 삭제시 지시문을 완전히 제거하려면 어떻게해야합니까?
객체를 삭제하고 있지만 배열의 빈 요소는 남아 있으며 기존 객체를 가리키는 대신 null 참조입니다.
사용하다
this.peopleIds.splice(this.peopleIds.indexOf(personId), 1);
배열에서 제거하면 해당 요소는 더 이상 for 루프에서 렌더링되지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다