vConsole provides some useful helper functions for efficient plugin development.
Helper functions are mounted in different vConsole properties according to their usage:
vConsole.tool: Helper functions.vConsole.$: DOM-related functions.Check whether a value is a certain type.
Encode a text into a HTML non-sensitive string.
Set data to localStorage. A prefix vConsole_ will be added to key automatically.
Note that some devices may not have localStorage and then value would not be saved under this situation, so DO NOT use this method to save permanent data.
vConsole.tool.setStorage('count', 1);
Get data from localStorage. A prefix vConsole_ will be added to key automatically.
var num = vConsole.tool.setStorage('count'); // => 1
Returns the first element within the document or baseElement that matches the specified group of selectors.
document.var $page = vConsole.$.one('#my_page');
var $item = vConsole.$.one('.item', $page);
Returns a list of elements within the document or baseElement that matches the specified group of selectors.
document.var $page = vConsole.$.one('#my_page');
var $items = vConsole.$.all('.item', $page);
Add the specified class(es) to element(s).
var $items = vConsole.$.all('.item');
vConsole.$.addClass($items, 'selected');
Remove the specified class(es) of element(s).
var $items = vConsole.$.all('.item');
vConsole.$.removeClass($items, 'selected');
Check whether an element is assigned the given class.
var $page = vConsole.$.one('#my_page');
if (vConsole.$.hasClass($page, 'actived')) {
// do something
}
Bind an event to element(s).
false.var $btn = vConsole.$.one('#submit');
vConsole.$.bind($btn, 'click', function(event) {
event.preventDefault();
alert('submit!');
});
Bind an event to an element, and only this element's descendants which match the selectors can trigger the event.
var $page = vConsole.$.one('#my_page');
vConsole.$.delegate($page, 'click', '.item', function(event) {
vConsole.$.addClass(this, 'selected'); // this => '.item'
});
Compile a template into an element object or a HTML string with given data.
false.If:
{{if}}
...
{{else}}
...
{{/if}}
For:
{{for (var i=0; i<10; i++)}}
...
{{continue}}
{{break}}
{{/for}}
Switch:
{{switch (flag)}}
{{case 1}}
...
{{break}}
{{default}}
...
{{/switch}}
Print:
{{flag}}
var tpl = '<ul>' +
'{{for (var i = 0; i < list.length; i++)}}' +
'<li>' + '{{list[i]}}' + '</li>' +
'{{/for}}' +
'</ul>';
var data = {
list: ['Red', 'Blue', 'Yellow']
};
var html = vConsole.$.render(tpl, data, true);
document.body.innerHTML += html;
Output:
<ul>
<li>Red</li>
<li>Blue</li>
<li>Yellow</li>
</ul>