0
knockoutjs로 테이블을 만들고 있습니다. 테이블에 데이터를 삽입하는 간단한 양식이 있습니다. 양식이 테이블 바깥에 있습니다.knockoutjs를 사용하여 선택한 항목 편집
3 가지 작업 중 2 가지 작업을 수행했습니다. 그러나 &을 삽입하면 선택 항목이 작동하고 선택 항목이 양식에 채워지는 것처럼 보일 수 없습니다.
나는 아주 기본적인 예 jsfiddle내 뷰 모델의 짧은 부분 내에서 생성이 나는 editItem를 (호출 할 때 텍스트 상자가 값으로 채워집니다) 그래서 어떻게해야합니까 무엇
var viewModel = function (items) {
var self = this;
self.selectedItem = ko.observable(null);
self.items = ko.observableArray(ko.utils.arrayMap(items, function (item) {
return new ItemModel(item.itemAmount);
}));
self.inputItem = new ItemModel();
self.addItem = function() {
self.items.push(new ItemModel(self.inputItem.itemAmount()));
console.log(ko.toJSON(self.items));
self.inputItem.itemAmount("");
};
self.removeItem = function (item) {
self.items.remove(item);
}.bind(this);
self.editItem = function (item) {
self.selectedItem(item);
}.bind(this);
self.items = ko.observableArray(ko.utils.arrayMap(items, function (item) {
return new ItemModel(item.itemAmount);
}));
};
테이블에서?
나는이 기본적인 것들입니다 확신하지만 난 많은 시간이 나 자신 당신이 요구하는지에 가까운 무언가를 보여줍니다
updateItem
그냥 당신이 당신의 '편집'을 클릭하면 선택한 항목의 itemAmount으로 입력 필드를 채우려 제대로 질문을 이해하기 위해라는 새로운 기능이 있습니다 '추가'를 다시 클릭하면 해당 행이 업데이트됩니까? – Limescale예 @Limescale thats 내가하려고하는 것 : –
사이드 노트와 같이 : 'var self = this'를 사용하고 내부 메서드를 사용하는 클로저 기법을 사용하는 경우 .bind (this) '메서드를 호출합니다 (아무런 피해도 없음). – Grim