[英]How could I call 2 functions with only one data-bind?
我試圖使2個函數僅運行到一個數據綁定中,但是我遇到了一些問題,因為其中一個函數正在HTML內運行,並且我無法更改。 我有谷歌這個問題,並得到:
click:function(key){text: text}, click:callFunction()
但這是行不通的。 第二次單擊綁定有效,但第一個沒有。
這是我的按鈕:
<button data-bind="attr: {for: 'CC-prodDetails-' + $data.value}, text:key,
click:function(key){
$parent.selectedOption(key);
$parent.selectedOptionValue(key);
}" class="volt"></button>
這是我需要運行的功能:
changeClass: function () {
$("button.volt").toggleClass('voltActive');
},
有人可以幫我嗎? 不能將HTML函數放到另一個函數中或將其更改為JS。
通過將JS函數包裝在HTML函數中,可以同時調用HTML函數和JS函數。 提供給HTML函數的第一個參數是當前綁定模型:
ko.applyBindings({ myJsFunction: function() { console.log('JS function called'); } });
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script> <button data-bind="click: function(model) { console.log('HTML function called'); model.myJsFunction(); }">Click me</button>
您不能只使用css
綁定嗎?
<button data-bind="
attr: { for: 'CC-prodDetails-' + $data.value },
text: key,
click: function (key) {
$parent.selectedOption(key);
$parent.selectedOptionValue(key);
},
css: {
'voltActive': $parent.selectedOption() === key,
'volt': $parent.selectedOption() !== key
}"></button>
或在3.5中引入的class
綁定:
class: $parent.selectedOption() === key ? 'voltActive': 'volt'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.