2017-05-09 4 views
0

Vue JS를 사용 중이며 categoriesitems의 두 가지 배열이 있습니다. 각 항목은 여러 범주에 속할 수 있으며 항목은 동적으로 생성되므로 범주 배열에 처음에 연결되지 않습니다. 그런 다음 범주 배열을 구문 분석하여 여러 항목이 포함 된 표를 만듭니다. 삭제 버튼을 누를 때 스플 라이스를 사용하여 배열에서 항목 제거

mounted: function() { 
    for (let item of this.items) { 
    for (let category of item.categories) { 
     this.categories[category - 1].items.push(item) 
    } 
    } 
} 

는 그럼, 삭제 스플 라이스를 사용하는 deleteItem 방법을 트리거 :가 장착 VUE 속성 카테고리를 연관된에 다음과 같이

는 테스트를 위해, 나는 항목을 첨부 categories 배열의 항목과 items 배열의 항목도 있지만 올바른 항목이 삭제되지 않도록 약간의 문제가 있습니다.

methods: { 
    deleteItem: function(item) { 
     for (let category of item.categories) { 
     this.categories[category - 1].items.splice(this.categories[category - 1].items.indexOf(item, 1)) 
     } 
     this.items.splice(this.items.indexOf(item, 1)) 
    } 
    } 

예 : Fiddle을 참조하십시오. 어떤 도움을 주시면 감사하겠습니다.

답변

2

변경

this.items.splice(this.items.indexOf(item, 1)) 

this.items.splice(this.items.indexOf(item), 1) 

에 그래서 당신은 splice에 두 번째 인수로 1을 통과있다.

동일한 오류를 두 번 수행합니다.

+0

감사합니다. 그걸 잡지 않았어. – enriqg9

관련 문제