Getting Started
This section will show you how to get started with SpuckJs.
new Spuck()
We know that every object of class Spuck is a virtual element that has to be put in the DOM.
If we console log thisElement
we can see different properties and methods.
Spuck = {
init: undefined
prop: undefined
events: undefined
attr: undefined
_pseudoState: {}
_state: {}
#_CSP: "$$-"
#_SP: "$-"
#_alterState: #_alterState(_finVal, _name)
#_deps: Object
#_effects: Object
#_getStateName: ƒ #_getStateName(_stateName)
#_partialEffects: Object
}
- init: This will be an object, and will define type, parent, class and id (this is necessary).
- prop: ...object and will define text, value and css of the element.
- events: ...object and will define events.
- attr: ...object and will define attributes.
Creating a Heading element.
const Heading = new Spuck();
Heading.init = {
type: "h1",
parent: "#app", // a div defined in the html file
class: "heading",
id: "heading"
};
const Heading = new Spuck({ type: 'h1', parent: '#app', class: 'heading', id: 'heading' });
Heading.prop = { text: 'Hello Spuck' };
prop
property.
This element will be put in the DOM, but it is not yet ready to be mounted.
render()
Our Heading
element is just a virtual element that has to be put in the DOM.
To convert it into a real DOM element we use render
method.
NOTE: render
does not mount the element, it just creates or updates an element with some properties.
When you render an element more than once you pass a parameter to the method, i.e., 're'
render
with no parameter creates a new element with some properties, while render('re')
updates the element with some properties.
Late Note
render
does mount an element in a case, we'll look at it later.
DOM Methods
mount()
mount
is a method that puts an element in the DOM.
unMount()
unMount
is a method that removes an element from the DOM.
isMount()
isMount
is a method that checks if an element is mounted or not.
make()
make
just combines render
and mount
methods.
It also accepts a parameter to be re
, when element is already rendered. It just passes the parameter to the render
method.
So in our case of Heading, we should probably use make
, as it is a very simple element.
You don't have to render
it if you use make
.