Knockout If-else condition inside html file in Magento 2
-
02-01-2021 - |
質問
I am customizing the shopping cart page, Here I worked knockout js
and html
code file. I successfully wrote If
statement by below code.
<!-- ko if: isFreeShipping() -->
//My Code goes here
<!-- /ko -->
For else
statement not working, for these, I wrote below code.
<!-- ko if: isFreeShipping() -->
//My Code goes here
<!-- ko ifnot: isFreeShipping() -->
//My Code goes here
<!-- /ko -->
Error: Uncaught Error: You cannot apply bindings multiple times to the same element.
Can you please suggest me how to write If Else
statement in html file?
解決
You should write a below code for else condition
<!-- ko if: isFreeShipping() -->
//My Code goes here
<!-- /ko -->
<!-- ko ifnot: isFreeShipping() -->
//My Code goes here
<!-- /ko -->
他のヒント
Just to extend a bit on Suresh Chikani's answer to include more combinations under this question:
To do a if-elseif-else construction you would have in PHP:
if (A && B) {
//...code
} elseif (A) { // And thus 'not B'
//...code
} else { // Thus is 'not A' and 'not B'
//...code
}
In Knockout you would do:
<!-- ko if: A && B -->
//...code
<!-- /ko -->
<!-- ko if: A && !B -->
//...code
<!-- /ko -->
<!-- ko if: !A && !B -->
//...code
<!-- /ko -->
所属していません magento.stackexchange