繁体   English   中英

将值传递给具有敲除功能的函数

[英]Passing value to a function with knockout

我在这里使用knockout是一个非常基本的例子, 我想将点击项的值传递给函数 我尝试了一些不起作用的东西。 有人可以告诉我如何继续吗? 也许我做错了吗?

谢谢你的帮助。

<div class='liveExample'>   
    <h2 data-bind="value: 'A', click: myFunction">Aaaaa</h2>  
    <h2 data-bind="value: 'B', click: myFunction">Bbbbb</h2>
    <h2 data-bind="value: 'C', click: myFunction">Ccccc</h2>
</div>

// Here's my data model
var ViewModel = function() {

    this.myFunction = function (elm)
    {
        alert('you clicked: ' + elm);
    }
};

ko.applyBindings(new ViewModel()); // This makes Knockout get to work

jsFiddle这里: http//jsfiddle.net/LkqTU/10229/

PS:我知道我们可以做...click: function () { myFunction('A'); }"> ...click: function () { myFunction('A'); }">但我认为还有更好的方法。

您可以从事件目标(即h2元素)获取值:

// Here's my data model
var ViewModel = function() {

    this.myFunction = function (data, event)
    {
        debugger;
        alert('you clicked: ' + event.target.value);
    }
};

ko.applyBindings(new ViewModel());

阅读有关点击装订的更多信

尝试:

this.myFunction = function (vm, event)
    {
        alert('you clicked: ' + event.srcElement);
    }
this.myFunction = function (val1, val2)
{
    ...;
}

在绑定中你必须设置:

<h2 data-bind="value: 'C', click: myFunction.bind($data, 'A', 'B')">Ccccc</h2>

这必须帮助你。 您可以通过此方法传递任何值的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM