2016-07-23 4 views
0

.js 파일을 작성하고 각 요소를 반복하여 "self.renderButtons"를 추가하려고합니다. 삭제를 클릭하면 제거 기능이 호출됩니다. 그것은 그렇게하지 않습니다. 누구든지 도와 줄 수 있습니까?.js 파일의 데이터 바인딩

 self.renderButtons = function (id) { 
    return ('<a href="' + '/Product/' + id + '" class="btn btn-sm btn-primary btn-margin-right"><span class="fa fa-file-text-o"></span> Details</a>' 
    + '<button class="btn btn-sm btn-danger" data-bind="click: removeItem"><span class="glyphicon glyphicon-trash"></span>&nbsp;Delete</button>'); 
} 
self.removeItem = function (item) { 
    $(document).trigger('loader-show'); 
    self.service.delete(item.Id, self.handleDelete, self.handleError); 
}; 
+0

코드 중 어떤 부분이 작동하지 않습니까? 브라우저의 콘솔에 오류가 표시됩니까? –

+0

삭제 버튼을 클릭하면 removeItem 함수로 이동하지 않습니다. 콘솔에 오류가 없습니다. f_martinez – Ajay

+0

모든 바인딩이 이미 적용된 후에 (버튼 결합이 전혀 처리되지 않았 음) 하나의 버튼이 추가되거나'removeItem'에 대한 올바른 컨텍스트를 지정해야합니다 (예 :'$ root.removeItem'). 귀하의 viemodel에 대한 자세한 내용과'renderButtons' 메소드 사용법을 추가하여 질문을 확장 해보십시오. –

답변

0

DOM을 조작하는 것은 녹아웃의 일입니다. 배열의 각 요소에 해당하는 버튼을 원하면 foreach binding의 작업입니다. observableArray를 조작하면 Knockout이 DOM에 해당 상태를 반영하도록 처리합니다.