Javascript 如何将参数发送到单击绑定敲除

Javascript 如何将参数发送到单击绑定敲除,javascript,knockout.js,Javascript,Knockout.js,我想向用户单击按钮时调用的函数发送一个值 这是视图模型 define(["knockout", "text!./index.html", "../../components/users/users"], function (ko, indexTemplate, userModel) { function indexViewModel(params) { var self = this; var id = 1; self.users = ko.observableArray

我想向用户单击按钮时调用的函数发送一个值

这是视图模型

define(["knockout", "text!./index.html", "../../components/users/users"], function (ko, indexTemplate, userModel) {
function indexViewModel(params) {
    var self = this;
    var id = 1;
    self.users = ko.observableArray([]);
    $.ajax({
        url: 'server/getUsers.php',
        type: 'post',
        data: {"data":id},
        success: function (result) {
            var row = JSON.parse(result)
            for(var i=0;i<row.length;i++){
                self.users.push(new userModel.userModel(row[i]["name"],row[i]["time"],row[i]["id"]));
            }
        }
    });
    self.removeUser = function (user) {
       alert(user);
    };
    return self;
    }
return { viewModel: indexViewModel, template: indexTemplate };
});
define([“knockout”,“text!”/index.html“,“../../components/users/users”],函数(ko,indexTemplate,userModel){
函数索引模型(参数){
var self=这个;
var-id=1;
self.users=ko.observearray([]);
$.ajax({
url:'server/getUsers.php',
键入:“post”,
数据:{“数据”:id},
成功:功能(结果){
var row=JSON.parse(结果)
对于(var i=0;i
我想在用户单击按钮时获取$data.id。我尝试了removeUser.bind($data,$data.id),但出现错误。
未定义removeUser。

您得到的removeUser未定义,因为它位于父模型中,因此请尝试
$parent.removeUser
。 如果您只想从数组中删除所选项,那么只需按如下方式尝试

<!-- ko foreach: users -->
<div class="col-md-3 col-sm-6">
    <div class="panel panel-default">
        <div class="panel-body">
            <div class="" style="height:180px;"></div>
        </div>
        <div class="panel-footer">
            <button class="btn btn-danger" data-bind="click: $parent.removeUser">Remove</button>
        </div>
    </div>
</div>
<!-- /ko -->

去除
在模型中

define(["knockout", "text!./index.html", "../../components/users/users"], function (ko, indexTemplate, userModel) {
function indexViewModel(params) {
    var self = this;
    var id = 1;
    self.users = ko.observableArray([]);
    $.ajax({
        url: 'server/getUsers.php',
        type: 'post',
        data: {"data":id},
        success: function (result) {
            var row = JSON.parse(result)
            for(var i=0;i<row.length;i++){
                self.users.push(new userModel.userModel(row[i]["name"],row[i]["time"],row[i]["id"]));
            }
        }
    });
    self.removeUser = function () {
  self.users.remove(this);
    };
    return self;
    }
return { viewModel: indexViewModel, template: indexTemplate };
});
define([“knockout”,“text!”/index.html“,“../../components/users/users”],函数(ko,indexTemplate,userModel){
函数索引模型(参数){
var self=这个;
var-id=1;
self.users=ko.observearray([]);
$.ajax({
url:'server/getUsers.php',
键入:“post”,
数据:{“数据”:id},
成功:功能(结果){
var row=JSON.parse(结果)

对于(var i=0;我能解释更多关于$root、$parent、$data的信息吗?@JohnArellano在下面的链接中有大量的文档
define(["knockout", "text!./index.html", "../../components/users/users"], function (ko, indexTemplate, userModel) {
function indexViewModel(params) {
    var self = this;
    var id = 1;
    self.users = ko.observableArray([]);
    $.ajax({
        url: 'server/getUsers.php',
        type: 'post',
        data: {"data":id},
        success: function (result) {
            var row = JSON.parse(result)
            for(var i=0;i<row.length;i++){
                self.users.push(new userModel.userModel(row[i]["name"],row[i]["time"],row[i]["id"]));
            }
        }
    });
    self.removeUser = function () {
  self.users.remove(this);
    };
    return self;
    }
return { viewModel: indexViewModel, template: indexTemplate };
});