ノックアウトで同じ要素を複数のアクションにバインドするときに現在行っていることは次のとおりです。
data-bind="event: { click: doAction,
touchend : doAction}"
私の質問は:
アクションにバインドするときに使用できるショートカット表記はありますか?
私は次のようなものを期待します:
data-bind="event: {click, touchend : doAction}"
ノックアウトで同じ要素を複数のアクションにバインドするときに現在行っていることは次のとおりです。
data-bind="event: { click: doAction,
touchend : doAction}"
私の質問は:
アクションにバインドするときに使用できるショートカット表記はありますか?
私は次のようなものを期待します:
data-bind="event: {click, touchend : doAction}"
これを行うための組み込みのショートカットはありませんが、カスタムバインディングを使用してdata-bind
クリーンにするのは非常に簡単です。
あなたが取ることができるいくつかのアプローチがあります。クリックとタッチエンドに固有のソリューションの1つは、次のとおりです。
ko.bindingHandlers.clickAndTouch = {
init: function(element, valueAccessor, allBindingsAccessor, data) {
var action = valueAccessor(),
newValueAccessor = function() {
return {
click: action,
touchend: action
}
};
ko.bindingHandlers.event.init.call(this, element, newValueAccessor, allBindingsAccessor, data);
}
};
次に、次のようにバインドします。
data-bind="clickAndTouch: doAction"
少なくともKnockout2.1.0(そしてそれは3.4.2でも動作します)なので、以下を使用することができます:
data-bind="event: {'click touchend': doAction}"