如何使用knockout.js在编辑弹出窗口中显示详细信息

如何使用knockout.js在编辑弹出窗口中显示详细信息,knockout.js,Knockout.js,我在客户名单表上有一个按钮。单击特定行编辑按钮后,我想在编辑窗口中显示详细信息 如何将客户id传递到弹出窗口 <button data-bind="click: $root.edit"> Edit</button> 我不太确定在编辑窗口中显示细节这一点——这完全取决于编辑窗口在代码上下文中的含义。也许您可以为ObservalArray中的每个客户创建一个编辑窗口对话框,并在单击时切换其可见性。让某些特定的客户可以被观察到也听起来是个好主意 至于传递客户ID,我做了一些演

我在客户名单表上有一个按钮。单击特定行编辑按钮后,我想在编辑窗口中显示详细信息

如何将客户id传递到弹出窗口

<button data-bind="click: $root.edit"> Edit</button>

我不太确定在编辑窗口中显示细节这一点——这完全取决于编辑窗口在代码上下文中的含义。也许您可以为ObservalArray中的每个客户创建一个编辑窗口对话框,并在单击时切换其可见性。让某些特定的客户可以被观察到也听起来是个好主意

至于传递客户ID,我做了一些演示

HTML:

在这段代码中,整个Customer对象被传递给selectCustomer,并且可以修改客户的所有属性


即使在弹出窗口中绑定所选项目也可能解决您的问题。您可以从列表表单中获取所选项目,并具有计算属性,其中所选项目将保存在计算属性中,并使用它在弹出窗口中绑定数据。
<h3>Click a row to obtain a customer's id:</h3>

<div data-bind="foreach: customers">
    <div data-bind="click: $root.selectCustomer" class="person">
        <div>Customer Name: <span data-bind="text: name"></span>
        </div>
        <div>Customer Age: <span data-bind="text: age"></span>
        </div>
        <div>Customer ID: <span data-bind="text: id"></span>
        </div>
    </div>
</div>
var vm = function () {
    this.customers = ko.observableArray([{
        name: "Jim",
        age: "40",
        id: "1"
    }, {
        name: "Jack",
        age: "20",
        id: "2"
    }, {
        name: "Jill",
        age: "30",
        id: "3"
    }]);
    this.selectCustomer = function (customer) {
        alert(customer.id);
    };
};

ko.applyBindings(new vm);