代码之家  ›  专栏  ›  技术社区  ›  user3378165

点击按钮设置可观察值

  •  1
  • user3378165  · 技术社区  · 7 年前

    self.action = ko.observable();
    

    setAction 并在每次点击按钮时用一个参数调用它,如下所示:

    self.setAction = function (action) {
      self.action(action);
    }
    

    但我想知道是否有一种方法可以做到这一点,而不必每次通话 作用

    1 回复  |  直到 3 年前
        1
  •  2
  •   tyler_mitchell    7 年前

    您可以在线完成:

    <button type="button" class="btn" data-bind="click: action.bind($data, 'btn-name')">btn-name</button>
    

    <button type="button" class="btn" data-bind="click: action.bind($data, this)">btn-name</button>
    

    或者,如果您的问题是每次都必须编写这个单击事件,那么您可以为每个按钮添加一个类,并添加一个事件侦听器来设置操作。

    <button type="button" class="btn actionBtn">btn-name</button>
    
    $(".actionBtn").click(function(){
         var btn = $(this);
         viewModel.action(btn);
    });