我开始在学校用JavaScript学习OOP,我必须在OOP做作业。它是一个购物清单,一个填写产品和价格,并放入一个数组,该数组的内容放在一个HTML表格中。该列表还有每个产品的删除按钮,我考虑过在JavaScript中使用this
,因为我在OOP工作,但由于范围我很怀疑。
想法是在网页上点击“verwijder”(编辑:在相应的行中),表格行就消失了。我已经考虑过使用this
,还要考虑从数组中删除选定的行后动态更新表。
谁可以告诉我该怎么做以及如何正确地做到这一点? 我在这里上传了我的JavaScript:http://jsfiddle.net/hNAZ9/
答案 0 :(得分:0)
如果你想在javascript中学习oop(并允许你使用框架),我的建议是学习像http://knockoutjs.com/这样的框架。 view / html交互代码和js对象建模代码之间的分离将使您的生活更轻松。以下是使用knockout: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();