【问题标题】:Passing an unknown function in a knockout binding (foreach) - is it possible?在淘汰赛绑定(foreach)中传递未知函数 - 有可能吗?
【发布时间】:2017-05-01 13:41:31
【问题描述】:

举个简单的例子,假设这是我的中继器:

<ul data-bind="foreach: items">
    <li data-bind="text: property1, attr: { onclick: some_unknown_function }"></li>
</ul>

我希望使用此代码的任何人都能够传递他们选择的函数,而不是在将运行 onclick 的模型本身中传递 - 这可能吗?有没有办法将它分配给模型并将其设置为点击绑定?这个我好像搞不懂……

【问题讨论】:

    标签: javascript knockout.js knockout-3.0 knockout-binding-handlers


    【解决方案1】:

    想出了一个很简单的方法,有时我忘记了 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()
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 2014-05-29
      • 2014-01-10
      相关资源
      最近更新 更多