Edit in GitHubLog an issue

Binding syntax

Within HTML templates, you can use a binding syntax that is simpler and easier to read and write than the standard Knockout.js binding syntax. The following code snippets help make the comparison.

Knockout native syntax

Copied to your clipboard
<!-- ko if: isVisible -->
<div class="someClass">
<!-- ko i18n: 'Some translatable message!' --><!-- /ko -->
<span data-bind="html: content"></span>
</div>
<!-- /ko -->

Application syntax

Copied to your clipboard
<if args="isVisible">
<div class="someClass">
<translate args="'Some translatable message!'"/>
<span html="content"></span>
</div>
</if>

or

Copied to your clipboard
<div class="someClass" if="isVisible">
<span translate="'Some translatable message!'"></span>
<span html="content"></span>
</div>

If you use the application syntax, the wrapper replaces the syntax with the matching Knockout comments or data-bind attributes during the loading of the HTML template.

Binding map

The table below shows examples of how the Knockout bindings map to their application binding counterparts.

NameKnockout SyntaxApplication Syntax
if
<!-- ko if: isVisible--><!-- /ko -->
<if args="isVisible"></if>
<div data-bind="if: isVisible"></div>
<div if="isVisible"></div>
<!-- ko if: getCartParam('summary_count') -->
<if args="getCartParam('summary_count')">
ifnot
<!-- ko ifnot: isVisible--><!-- /ko -->
<ifnot args="isVisible"></ifnot>
<div data-bind="ifnot: isVisible"></div>
<div ifnot="isVisible"></div>
<!-- ko ifnot: getCartParam('summary_count') -->
<ifnot args="getCartParam('summary_count')">
text
<!-- ko text: 'Some text' --><!-- /ko -->
<text args="'Some text'">
<div data-bind="text: 'Some text'"></div>
<div text="'Some text'"></div>
i18n
<!-- ko i18n: 'Sign In' --><!-- /ko -->
<translate args="'Sign In'"/>
<span data-bind="i18n: 'Sign In'"></span>
<span translate="'Sign In'"></span>
with
<!-- ko with: element --><!-- /ko -->
<with args="element">
<div data-bind="with: element"></div>
<div with="element"></div>
foreach
<!-- ko foreach: elements --><!-- /ko -->
<each args="elements">
<div data-bind="foreach: elements"></div>
<div each="elements"></div>
component
<!-- ko component: 'componentName' --> <!-- /ko -->
<component args="'componentName'">
<div data-bind="component: 'componentName'"> </div>
<div component="'componentName'"> </div>
css
<div data-bind="css: {_visible: isVisible}"> </div>
<div css="_visible: isVisible"> </div>
attr
<div data-bind="attr: {title: title}"> </div>
<div attr="title: title"> </div>
style
<div data-bind="style: {color: redColor}"> </div>
<div ko-style="color: redColor"> </div>
html
<div data-bind="html: '<span/>'"> </div>
<div html="'<span/>'"> </div>
click
<div data-bind="click: onClick"> </div>
<div click="onClick"> </div>
event
<div data-bind="event: {mouseover: showEl}"> </div>
<div event="mouseover: showEl"> </div>
template
<div data-bind="template: {name: 'templateUrl', data: {}}"> </div>
<div template=" {name: 'templateUrl', data: {}}" ></div>
submit
<form data-bind="submit: onSubmit"> </form>
<form submit="onSubmit"> </form>
options
<select data-bind="options: optionsList"> </select>
<select options="optionsList"> </select>
selectedOptions
<select data-bind="options: optionsList, selectedOptions: value"> </select>
<select options="optionsList" selectedOptions="value"> </select>
optionsText
<select data-bind="options: optionsList, optionsText: 'label'"> </select>
<select options="optionsList" optionsText="'label'"> </select>
optionsValue
<select data-bind="options: optionsList, optionsValue: 'value'"> </select>
<select options="optionsList" optionsValue="'value'"> </select>
enable
<input data-bind="enable: isEnabled"/>
<input enable="isEnabled"/>
disable
<input data-bind="disable: !isEnabled"/>
<input ko-disabled="!isEnabled"/>
hasFocus
<input data-bind="hasFocus: onFocus"/>
<input ko-focused="onFocus"/>
textInput
<input data-bind="textInput: value"/>
<input textInput="value"/>
value
<input data-bind="value: value"/>
<input ko-value="value"/>
checked
<input type="checkbox" data-bind="checked: isChecked"/>
<input type="checkbox" ko-checked="isChecked"/>
<input type="radio" data-bind="value: value, checked: isSelected" />
<input type="radio" ko-checked="element.isSelected" ko-value="value" />
checkedValue
<input type="checkbox" data-bind="checkedValue: $data, checked: isChecked"/>
<input type="checkbox" checkedValue="$data" ko-checked="isChecked"/>
  • Privacy
  • Terms of Use
  • Do not sell or share my personal information
  • AdChoices
Copyright © 2024 Adobe. All rights reserved.