需要有关如何使用 knockout.js 创建二维矩阵的说明
Need directions on how to create a two dimensional matrix using knockout.js
我是 knockout.js 的新手。
我正在尝试创建一个类似于 HTML 结构的矩阵。我想从头开始。用户将有一个添加行按钮,这将创建行。我能够添加多行。现在我正在尝试添加一列。
该列应该基本上复制现有的 table 并制作一个副本并使其出现在下一列中。
到此为止。 Link 至 jsfiddle
我是HTMLCODE 添加代码方便阅读
<div class='liveExample'>
<div data-bind='simpleGrid: gridViewModel'> </div>
<button data-bind='click: addRowItem'>
Add Row
</button>
<button data-bind='click: addColItem'>
Add Col
</button>
这是具有 knockout.js 功能的 Java 脚本代码
var initialData = [
{ name: "" }
];
var PagedGridModel = function(items) {
this.items = ko.observableArray(items);
this.addRowItem = function() {
this.items.push({ name: "New Row" });
};
this.gridViewModel = new ko.simpleGrid.viewModel({
data: this.items,
columns: [
{ headerText: "", rowText: "name"}
],
});
};
ko.applyBindings(new PagedGridModel(initialData));
simplegrid 视图模型中的列数组需要是一个 observableArray,否则模型将不知道它发生了变化。与您对数据所做的类似,您需要使列引用 observableArray。
这是更新后的视图模型:
var PagedGridModel = function(items) {
var self = this;
self.items = ko.observableArray(items);
self.columns = ko.observableArray([
{ headerText: "", rowText: "name"}
]);
self.addRowItem = function() {
self.items.push({ name: "New Row" });
};
self.addColItem = function() {
self.columns.push({ name: "New Column" });
};
self.gridViewModel = new ko.simpleGrid.viewModel({
data: self.items,
columns: self.columns
});
};
我是 knockout.js 的新手。 我正在尝试创建一个类似于 HTML 结构的矩阵。我想从头开始。用户将有一个添加行按钮,这将创建行。我能够添加多行。现在我正在尝试添加一列。 该列应该基本上复制现有的 table 并制作一个副本并使其出现在下一列中。
到此为止。 Link 至 jsfiddle
我是HTMLCODE 添加代码方便阅读
<div class='liveExample'>
<div data-bind='simpleGrid: gridViewModel'> </div>
<button data-bind='click: addRowItem'>
Add Row
</button>
<button data-bind='click: addColItem'>
Add Col
</button>
这是具有 knockout.js 功能的 Java 脚本代码
var initialData = [
{ name: "" }
];
var PagedGridModel = function(items) {
this.items = ko.observableArray(items);
this.addRowItem = function() {
this.items.push({ name: "New Row" });
};
this.gridViewModel = new ko.simpleGrid.viewModel({
data: this.items,
columns: [
{ headerText: "", rowText: "name"}
],
});
};
ko.applyBindings(new PagedGridModel(initialData));
simplegrid 视图模型中的列数组需要是一个 observableArray,否则模型将不知道它发生了变化。与您对数据所做的类似,您需要使列引用 observableArray。
这是更新后的视图模型:
var PagedGridModel = function(items) {
var self = this;
self.items = ko.observableArray(items);
self.columns = ko.observableArray([
{ headerText: "", rowText: "name"}
]);
self.addRowItem = function() {
self.items.push({ name: "New Row" });
};
self.addColItem = function() {
self.columns.push({ name: "New Column" });
};
self.gridViewModel = new ko.simpleGrid.viewModel({
data: self.items,
columns: self.columns
});
};