Home Reference Source
import DeepModel from 'backbone.deepmodel'
public class | source

DeepModel

Extends:

backbone~Backbone.Model → DeepModel

See:

Example:

class Person extends DeepModel {...}

// or
const Person = DeepModel.extend({...})

Static Member Summary

Static Public Members
public static get

this module's version.

Static Method Summary

Static Public Methods
public static

defaults(settings: Object): Object

Update default settings.

Method Summary

Public Methods
public

get(attribute: string): *

public

set(attribute: string, value: *, options: Object): DeepModel

Static Public Members

public static get VERSION: string source

this module's version.

Static Public Methods

public static defaults(settings: Object): Object source

Update default settings.

Params:

NameTypeAttributeDescription
settings Object
  • optional
  • default: {}

reset if null

settings.pathSeparator string
  • optional
  • default: '/'
settings.pathParser function(path: string): Array<string>
  • optional

ignore if returns []

Return:

Object

Example:

DeepModel.defaults({anySetting: true})
DeepModel.defaults(null) // reset!
DeepModel.defaults({pathSeparator: '/'})

const model = new DeepModel()
model.set('a', {})
model.set('a/b', 1)
model.get('a/b') //=> 1
DeepModel.defaults({
  pathParser(path) {
    if (path === '*') { return [] } // ignore!
    return path.split('_')
  }
})

const model = new DeepModel()
model.set('a', {})
model.set('a_b', 1)
model.get('a_b') //=> 1
model.set('*', 2)
model.get('*') //=> undefined

Public Methods

public get(attribute: string): * source

Params:

NameTypeAttributeDescription
attribute string

Return:

*

Example:

model.get('a.b')

See:

public set(attribute: string, value: *, options: Object): DeepModel source

Params:

NameTypeAttributeDescription
attribute string
value *
options Object
  • optional

Return:

DeepModel

Example:

model.set({'a.b': 'value'})
model.set('a.b', 'value')

See: