【发布时间】:2013-02-04 14:42:27
【问题描述】:
我的应用程序中有三个相对相似的剔除模型,我想扩展一个基本模型以组合通用属性,而不是重复三次。
例子
var ItemModel = function (item) {
var self = this;
self.order = ko.observable(item.order);
self.title = ko.observable(item.title);
self.price = ko.observable(item.price);
self.type = ko.observable(item.type);
};
var StandardItemModel = function (item, cartItemTypes) {
var self = this;
self.order = ko.observable(item.order);
self.title = ko.observable(item.title);
self.price = ko.observable(item.price);
self.type = ko.observable(item.type);
self.isInCart = ko.computed(function () {
return cartItemTypes().indexOf(item.type) > -1;
}, self);
self.itemClass = ko.computed(function () {
return self.isInCart() ? "icon-check" : "icon-check-empty";
}, self);
};
var CustomItemModel = function (item) {
var self = this;
self.order = ko.observable(item.order);
self.title = ko.observable(item.title);
self.price = ko.observable(item.price);
self.type = ko.observable(item.type);
self.icon = item.icon;
};
我想使用 ItemModel 作为基类,并根据需要添加额外的属性。
【问题讨论】:
-
好的,但是你的问题是什么?在基类创建过程中遇到了什么问题?
-
我的问题是在 javascript 中执行此操作的最佳方法是什么,如果敲除提供了一些实用程序来简化它。
标签: javascript inheritance knockout.js