Ractive.defaults
Most of the initialisation options can be assigned
to the Ractive.defaults property and will be used as a default option on any future created instances.
If the same option is supplied during initialisation, it will override the default:
Ractive.defaults.delimiters = [ '[[', ']]' ];
// uses the delimiters specified above
ractive1 = new Ractive({
template: 'hello [[world]]'
});
// uses the delimiters specified in the init options
rative2 = new Ractive({
template: 'hello //world\\',
delimiters: [ '//', '\\' ]
});
The exception is for plugin registries which, for the sake of convenience, are
'registered' directly on Ractive. Also, when provided as initialisation or extend options, they do
not replace, but rather combine with the default registry options:
Ractive.components.myComponent = MyComponent;
ractive1 = new Ractive({});
// ractive1.components has MyComponent
ractive2 = new Ractive({
components: {
otherComponent: OtherComponent
}
});
// ractive2.components has MyComponent _and_ OtherComponent
The data and computed options, while set on Ractive.defaults, also combine values rather
than replace.
Defaults and Registries on Extended Ractive
Defaults can also be specified on any Component or View created via Ractive.extend():
var MyRactive = Ractive.extend();
MyRactive.defaults.el = document.body;
Likewise, registry options are available on the constructor:
var MyRactive = Ractive.extend({
template: '<p>{{>foo}}</p>p>'
});
MyRactive.partials.foo = ' is great';