[英]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.