我正尝试使用基因敲除来创建一个简单的电子表格。我试图让每个细胞都是可观察的,所以在变化时,我可以评估这些值并据此进行计算。因此,如果他们在一个单元格中输入6 + 7,我可以评估并将其值更改为总数。阵列内的基因敲除阵列
但是,我不能让每个单元格都是可观察的。也许我错了。
我试图创建一个小提琴,但我现在正在争取让jquery加载。所以尽管我可以在本地的Visual Studio中运行它,但小提琴抱怨着$。 (任何帮助解决这将是伟大的)。
http://jsfiddle.net/tr9asadp/1/
我生成这样我的可观察到的数组: self.RowCount = ko.observable(0); self.ColumnCount = ko.observable(0);
self.Columns = ko.observableArray([]);
self.Rows = ko.observableArray([]);
self.Refresh = function() {
for (i = 0; i < self.RowCount(); i++) {
var obj = {
data: i + 1,
calculated: i,
rowNum: i,
colNum: 0,
columns: ko.observableArray([])
};
for (j = 0; j < self.ColumnCount(); j++) {
obj.columns.push(ko.observable({
label: self.Letters[j],
value: j + 1,
colIndex: j,
rowIndex: i
}));
}
self.Rows.push(obj);
}
self.ShowSheet(self.RowCount() > 0 && self.ColumnCount() > 0);
我呈现基于列和由用户输入(目前行的表,限于5×5,如我使用阵列转换1,2,3(列),以A,B ,C,但这是暂时的,将是固定的。
我怎样才能得到每个单元可观察到,这样我就可以订阅并触发对变化的事件?
谢谢!这很好。我太亲密了...只是没有让我的头在使用我的对象,而不是一个匿名的。我最喜欢订阅主视图模型吗?原因是,如果该人输入'= B2'...我需要找到B2单元格,获取该值并使用该值。在对象中订阅它是自我的 - 我不确定我可以访问所有其他单元格。 – Craig
检查更新。它并不是完全订阅到主视图模型,但该功能现在位于主视图模型中,因此您可以访问其他单元格。 – H77
谢谢H77 ...我得到'valueChanged'不是一个函数。应该将其声明为self.valueChanged吗? – Craig