0

我在学校开始学习 JavaScript 中的 OOP,我必须在 OOP 中完成我的作业。它是一个购物清单,填写产品和价格并放入一个数组中,该数组的内容放在 HTML 表格中。该列表还包含每个产品的删除按钮,我曾考虑this在 JavaScript 中使用,因为我在 OOP 中工作,但我对范围持怀疑态度。

这个想法是在网页上单击“verwijder”(编辑:在相应行中)并且表格行消失了。我考虑过使用this但也考虑在从数组中删除选定行后动态更新表。

谁能告诉我该怎么做以及如何正确地做到这一点?我在这里上传了我的 JavaScript:http: //jsfiddle.net/hNAZ9/

4

1 回答 1

0

如果你想在 javascript 中学习 oop(并且你可以使用框架),我的建议是学习一个类似http://knockoutjs.com/的框架。view/html 交互代码和 js 对象建模代码之间的分离将使您的生活更轻松。这是使用淘汰赛重新实现小提琴的示例:http: //jsfiddle.net/kaGzz/3/

我认为对象在做什么要清楚得多:

var Item = function(product, price, parentArray){
    var self = this;
    self.product = ko.observable(product);
    self.price = ko.observable(price);    
    self.deleteItem = function(){
        parentArray.remove(self);
    }
}

var ShoppingList = function(){
    var self = this;
    self.currentProduct = ko.observable();
    self.currentPrice = ko.observable();
    self.items = ko.observableArray();
    self.addItem = function(){
        self.items.push(new Item(self.currentProduct(), self.currentPrice(), self.items));
    }        
}


var shoppingList = new ShoppingList();
于 2013-11-02T17:59:47.067 回答