WinJS.Binding.converter function
Creates a default binding initializer for binding between a source property and a destination property with the specified converter function that is executed on the value of the source property.
Syntax
var functionRef = WinJS.Binding.converter(convert);
Parameters
convert
Type: FunctionThe conversion function that takes the source property and produces a value that is set to the destination property. This function must be accessible from the global namespace.
Return value
Type: Function
The binding initializer.
Remarks
Caution When you use the converter, it marks the specified function as supported for declarative processing. A function that is marked as supported for declarative processing can be called from static HTML, potentially allowing an attacker to perform privileged actions. For this reason, only mark a function as supported for declarative processing if you are completely confident that it is secure from the injection of third-party content.
Examples
The following code shows how to create a converter function that takes the currently logged-on user type property and maps it to the background color of the corresponding SPAN element. The function is defined inside the LoginData namespace, which is defined with WinJS.Namespace.define.
...
<span id="loginName"
data-win-bind="innerText: name; style.color: userType LoginData.userTypeToColor">
</span>
...
WinJS.Binding.processAll(document.getElementById("loginDisplay"), LoginData.login);
WinJS.Namespace.define("LoginData", {
//Data Object
login : { name: "myname", id: "12345678", userType: "admin" },
//Converter function
userTypeToColor: WinJS.Binding.converter(function (type) {
return type == "admin" ? "Green" : "Red";
})
});
See the Declarative Binding sample for an example of a conversion function that does not use the converter method.
Requirements
Minimum WinJS version |
WinJS 1.0 |
Namespace |
WinJS.Binding |