在敲除绑定 (foreach) 中传递未知函数 - 这可能吗?
Passing an unknown function in a knockout binding (foreach) - is it possible?
举个简单的例子,假设这是我的转发器:
<ul data-bind="foreach: items">
<li data-bind="text: property1, attr: { onclick: some_unknown_function }"></li>
</ul>
我希望使用此代码的任何人都能够传递他们选择的函数,而不是传递 运行 onclick 的模型本身 - 这可能吗?有没有办法将它分配给模型并将其设置为点击绑定?我似乎无法弄清楚...
想出了一个很简单的方法,有时我忘记了 JS 是如何写的...
将我的中继器更改为:
<ul data-bind="foreach: items">
<li data-bind="text: property1, click: myClick }"></li>
</ul>
我的模型是这样的:
function Item(options) {
var self = this;
options = options || {};
self.property1 = ko.observable(options.property1 || '');
self.onclick = options.onclick || null;
self.myClick = function () {
if (self.onclick != null) {
self.onclick()
}
}
}
举个简单的例子,假设这是我的转发器:
<ul data-bind="foreach: items">
<li data-bind="text: property1, attr: { onclick: some_unknown_function }"></li>
</ul>
我希望使用此代码的任何人都能够传递他们选择的函数,而不是传递 运行 onclick 的模型本身 - 这可能吗?有没有办法将它分配给模型并将其设置为点击绑定?我似乎无法弄清楚...
想出了一个很简单的方法,有时我忘记了 JS 是如何写的...
将我的中继器更改为:
<ul data-bind="foreach: items">
<li data-bind="text: property1, click: myClick }"></li>
</ul>
我的模型是这样的:
function Item(options) {
var self = this;
options = options || {};
self.property1 = ko.observable(options.property1 || '');
self.onclick = options.onclick || null;
self.myClick = function () {
if (self.onclick != null) {
self.onclick()
}
}
}