2012-03-30 2 views
0

자바 스크립트에서 배열에 항목을 추가하고 삭제하고 싶습니다. 항목이 배열에 추가되면 추가 된 항목에 대한 알림을 다른 함수에 보내고 싶습니다. 항목이 삭제되면 삭제 된 내용을 알리는 기능을 원합니다.CoffeeScript/JS에서 목록을 편집 할 때 콜백

저는 CoffeeScript를 사용하고 있지만 CoffeeScript 나 JS의 방향에 대한 대답이나 요점은 매우 유용합니다.

+0

시작하기 전에 코드를 작성 했습니까? 배열, 추가 메소드, 삭제 메소드, 취해진 모든 액션을 저장하는 추적 배열 등을 가진 객체를 생성 할 수 있습니다. –

답변

1
watchMe = [] 

doPush = (value)-> 
    # do whatever 

watchMe.push = -> 
    doPush arguments[0] 
    Array.prototype.push.apply @, arguments 

# this will call doPush with 'foo', and add 'foo' to the watchMe array 
watchMe.push 'foo' 

당신은 당신의 배열에 기본 Array.prototype 방법을 재정의하는 사용자 정의 함수를 호출하고 자바 스크립트 부모 함수 다음 네이티브 수 있습니다.

위의 예는 push()을 사용하여 요소 추가를 재정의하는 방법을 보여줍니다. pop(), splice() 등을 사용하여 요소 제거에 대해 동일한 작업을 수행합니다.

위로 방법을 사용하여 오버로드 할 수있는 배열 방법의 자세한 목록은 W3schools을 확인하십시오.

Here's a link 위의 더 자세한 coffeescript 데모. 로컬로 테스트하거나 coffeescript.org에서 복사하여 붙여 넣을 수 있습니다.

0

멋진 멋진 접근 방식은 Array.observe입니다 (MDN 참조). ECMA 7 Spec의 일부이지만, 그 전에는 polyfill을 사용할 수 있습니다 .-)

관련 문제