-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
Description
Allow for fields
static method
http://aliolicode.com/2016/05/07/typescript-static-members/
https://github.com/xpepermint/vue-rawmodel/blob/master/src/models.ts#L29
public constructor (data: ReactiveModelRecipe = {}) {
super(data);
// ...
let clazz = this.constructor;
fields = fields || typeof clazz.fields === 'function' ? clazz.fields() : clazz.fields
if (fields) this.defineFields(fields)
}
import {ReactiveModel} from 'vue-rawmodel';
class User extends ReactiveModel {
constructor (data = {}) {
super(data); // initializing parent class
}
static fields() {
return {
name: {
type: 'String', // setting type casting
validate: [{
validator: 'presence', // validator name
message: 'is required' // validator error message
}
]
}
};
}
}
Equivalent to calling
constructor (data = {}) {
super(data); // initializing parent class
this.defineField({
// ...
}
}
xpepermint