knockout.js 点击按钮时设置可观察值

gg58donl  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(254)

在我的页面上,我希望跟踪用户在可观察的页面中单击了哪个按钮:

self.action = ko.observable();

我可以编写一个函数setAction,并在每次单击按钮时使用一个参数调用它,如下所示:

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

但是我想知道是否有一种方法可以做到这一点,而不必每次都调用setAction函数?

baubqpgj

baubqpgj1#

您可以通过内联方式执行此操作:

<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);
});

相关问题