HTML and CSS Reference
In-Depth Information
<h1 class="win-type-xx-large">Left Full Container</h1>
<div class="win-type-x-large">
The zip code is:
<span data-win-bind="innerText: UserData.homeZipCode"></span>
</div>
</div>
<div id="topRightContainer" class="gridRight">
<h1 class="win-type-xx-large">Top Right Container</h1>
</div>
<div id="bottomRightContainer" class="gridRight">
<h1 class="win-type-xx-large">Bottom Right Container</h1>
</div>
</div>
</body>
</html>
I have added a
script
element that adds
viewmodel.js
to the HTML document. he most
important addition, however, is the
span
element and its
data-win-bind
attribute.
■
The order of
script
elements is important in a Metro app, just like it is in a web app.
The code in my
default.js
file will depend on my view model, so I must ensure that the
script
element for
viewmodel.js
appears before the one for
default.js
.
Tip
There are two parts to a declarative binding. The first part is the name of a property defined
by the
HTMLElement
object that represents the element in the Document Object Model (DOM).
I have used
innerText
, which will set the text content of the
span
element. The property name
is followed by a colon (
:
) and then the name of the data item that should be assigned to that
property. I have specified
UserData.homeZipCode
.
■
Declarative bindings will silently fail if you specify any property name that is also a
reserved JavaScript keyword. This means, for example, that you avoid using the
class
property
in bindings and use the
className
property instead.
Tip
It isn't enough just to add
data-win-binding
attributes to HTML elements. I also have to
tell the WinJS API to search through the document so that the binding attributes are found and
processed. Listing 2-3 shows the
default.js
file. I removed some of the comments that Visual
Studio creates and defined some placeholder functions that I'll build on later.
Listing 2-3.
Processing WinJS Bindings
(function () {
"use strict";




Search WWH ::

Custom Search