self.action = ko.observable();
setAction 并在每次点击按钮时用一个参数调用它,如下所示:
setAction
self.setAction = function (action) { self.action(action); }
但我想知道是否有一种方法可以做到这一点,而不必每次通话 作用
您可以在线完成:
<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); });