This is a static class containing the system-supplied data types which may be given to a Field.
Types是一个静态类,包含将用在Field的,系统提供的数据类型。
The properties in this class are used as type indicators in the Field class, so to test whether a Field is of a certain type, compare the type property against properties of this class.
此类中的属性会被用作Field中的类型指示器,因此,如果要测试一个字段是否某个特定类型,可将其type属性与Types类的属性来比较。
Developers may add their own application-specific data types to this class. Definition names must be UPPERCASE. Each type definition must contain three properties:
开发者可以添加它们自定义的类型到这个类中。名称必须大写。每个类型定义必需包含三个属性:
convert
: Function 转换函数
A function to convert raw data values from a data block into the data to be stored in the Field. The function is passed the collowing parameters:此函数转数据块中的原始数据到Field字段。函数会被传入两个参数:
sortType
: Function 排序类型
A function to convert the stored data into comparable form, as defined by Ext.data.SortTypes. 一个函数,将数据转换为可比较的形式,详见 Ext.data.SortTypes.
type
: String 类型
A textual data type name. 文本形式的类型名称。
For example, to create a VELatLong field (See the Microsoft Bing Mapping API) containing the latitude/longitude value of a datapoint on a map from a JsonReader data block
which contained the properties lat
and long
, you would define a new data type like this:
例如,我们创建一个VELatLong 字段(参考 Microsoft Bing Mapping API)包含地图上一个数据点的经度/维度值,数据来自JsonReader 的数据块,包含了lat和long属性。对此,你可以定义一个如下的新数据类型:
// Add a new Field data type which stores a VELatLong object in the Record. Ext.data.Types.VELATLONG = { convert: function(v, data) { return new VELatLong(data.lat, data.long); }, sortType: function(v) { return v.Latitude; // When sorting, order by latitude }, type: 'VELatLong' };
Then, when declaring a Model, use:
然后,我们定义一个模型来使用:
var types = Ext.data.Types; // allow shorthand type access Ext.define('Unit', extend: 'Ext.data.Model', fields: [ { name: 'unitName', mapping: 'UnitName' }, { name: 'curSpeed', mapping: 'CurSpeed', type: types.INT }, { name: 'latitude', mapping: 'lat', type: types.FLOAT }, { name: 'longitude', mapping: 'long', type: types.FLOAT }, { name: 'position', type: types.VELATLONG } ] });
This data type means that no conversion is applied to the raw data before it is placed into a Record.不会发生转换
This data type means that the raw data is converted into a String before it is placed into a Record.