텍스트 상자 입력, li 요소 생성 및 li 요소가 이벤트 바인딩 가능
漂亮男人2017-05-15 16:55:10
사실 이것은 매우 복잡해질 수 있는 문제입니다. 현실적으로는 해결 방법이 많이 있습니다. 가장 간단한 참고 자료를 작성하겠습니다.
으아악그런 다음 해당 템플릿에서:
으아악현실적으로 변수가 너무 많아서 하나하나 자세히 말씀드리기는 어려운 아이디어입니다. 유사한 문제를 처리할 때 고려해야 할 핵심 사항은 다음과 같습니다.
input
의 값을 캡쳐하는데 이건 Angle로 쓰는 방식이 아니고 jQuery로 쓰는 방식입니다input
的值,但这不是 angular 的写法,这是 jQuery 的写法$event
的对象,因为它使得我必须在 controller
混入和 DOM 或 Event 相关的代码而不是业务逻辑。当然也有很多解决办法,比如:listItem.text
保存文字内容,然后在添加的时候给它生成一个递增的 listItem.id
。这样做有很多好处,比如说 ng-repeat
的时候可以 track by
,控制模版输出也会更灵活,绑定的事件处理方法可以不传 $event
而是传 item
或 item.id
$event
의 개체를 사용한다는 점입니다. 비즈니스 논리. 물론 다음과 같은 다양한 솔루션이 있습니다. 🎜
4.1 2를 기준으로 li 항목의 텍스트 내용을 저장하기 위해 단순히 문자열을 사용하지 않고 객체를 사용합니다. 예를 들어 listItem.text
는 텍스트 콘텐츠를 저장한 다음 추가 시 이에 대한 증분 listItem.id
를 생성합니다. 예를 들어, ng-repeat
는 추적
이 가능하며 바인딩된 이벤트 처리 방법이 더 유연해집니다. >$event
를 전달하려면 대신 item
또는 item.id
를 전달하면 기다릴 수 있습니다 🎜
4.2 그러나 바인딩된 이벤트 처리 방법이 DOM을 작동해야 하는 경우 지시문으로 작성하는 것이 가장 좋으며 데이터(목록 항목 모음)는 여전히 컨트롤러에 보관될 수 있습니다🎜
🎜phpcn_u15822017-05-15 16:55:10
ng 매개변수가 포함된 동적으로 삽입된 HTML의 경우, Anglejs는 일반적으로 이를 두 번 구문 분석하지 않습니다.
종속성 주입을 사용하여 $compile을 호출하면 로컬 코드를 다시 작성하고 컴파일할 수 있습니다.