BindingConverter

Преобразователь данных между элементом и источником.

Description

Встречаются ситуации, когда формат представления данных в элементе и источнике данных отличается. Наряду с этим остается необходимость в привязке данных (синхронизации данных между элементом и источником). Для решения этой проблемы используется преобразователь данных - объект с двумя методами конвертации данных.

Properties

Name Type Description
toSource Функция Функция конвертации, осуществляющая преобразование данных элемента в формат данных источника. Функция вызывается при изменении данных в элементе, если направление обмена данными в привязке установлено в twoWay или toSource. В параметре args передается информация, необходимая для осуществления конвертации. Свойство args.value содержит данные элемента для конвертации. Возвращаемое значение функции интерпретируется, как результат конвертации.
toElement Функция Функция конвертации, осуществляющая преобразование данных источника в формат данных элемента. Функция вызывается при изменении данных в источнике, если направление обмена данными в привязке установлено в twoWay или toElement. В параметре args передается информация, необходимая для осуществления конвертации. Свойство args.value содержит данные источника для конвертации. Возвращаемое значение функции интерпретируется, как результат конвертации.

Examples

{
    toSource: function(context, args) {
        return parseInt(args.value); // string to integer
    },
    toElement: function(context, args) {
        return args.value.toString(); // integer to string
    }
}

BindingConverter.metadata

Метаданные типа BindingConverter.

Properties

Name Type Description
ToSource String Функция конвертации, осуществляющая преобразование данных элемента в формат данных источника
ToElement String Функция конвертации, осуществляющая преобразование данных источника в формат данных элемента

Examples

В качестве функции конвертации может быть указано как название прикладного скрипта,

{
    "Scripts": [
        {
          "Name": "ElementToSourceConverter",
          "Body": "..."
        },
        {
          "Name": "SourceToElementConverter",
          "Body": "..."
        }
    ],
    ...
    "Converter": {
      "ToSource": "ElementToSourceConverter",
      "ToElement": "SourceToElementConverter"
    }
}

так и тело функции.

{
    "Converter": {
      "ToSource": "{ return (args.value == '-' ? false : true); }",
      "ToElement": "{ return args.value ? '+' : '-'; }"
    }
}