jquery-meteor-blaze v1.3.1
jQuery Meteor blaze template plugin
This project uses the Meteor client libraries and wraps them in a easy to use jQuery plugin.
Install
You can install it with npm
npm install jquery-meteor-blaze
Usage
You can either use the node module
require('jquery-meteor-blaze')($,_);
Or use the scripts under the dist directory
<script type="text/javascript" src="lodash.js"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery-meteor-blaze.devel.js"></script>
To Build Files
$ npm install
$ npm run build
Dependencies
The plugin requires underscore or lodash.
Methods
spacebars()
Compile the spacebars template and generate the JS renderer functions for each one
Returns: object
, renderer functions
Example:
<script type="text/spacebars" name="list">
Below is the list of items:
<ol>
{{#each posts}}
<li><input type="checkbox">{{ title }}</li>
{{/each}}
</ol>
</script>
<script>
var templates = $("script[type='text/spacebars']").spacebars();
</script>
You can also pre-compile your templates to javascript with the Spacebars compiler and require them into your project.
blaze(renderer)
Instantiates a blaze template instance
Parameters
renderer: function
, renderer function for the template
unblaze()
Removes a blaze template instance
render(data, after)
Render an instantiated template view
Parameters
data: object
, data object to render templete with
after: object
, child node to insert the template after
Example:
<script>
$("#list")
.blaze(templates['list'])
.render({"posts": [{title: "first"},{title: "second"}]});
</script>
helpers(key, value)
Add a function helper to an instantiated template
Parameters
key: string
, helper name
value: object | function
, helper
reactive(key, reactive)
Add a reactive var to an instantiated template
Parameters
key: string
, helper name
reactive: object | function
, reactive var, must be an instance of Meteor.ReactiveVar or Meteor.ReactiveObjectMap
<script>
var posts = new $.Meteor.ReactiveVar([{title: "first"},{title: "second"}]);
$("#list")
.blaze(templates['list'])
.reactive('posts',posts)
.render();
</script>
includes(key, renderer)
Set renderer functions for live included templates It will create a helper function that returns a template instance with the associated render function. As an extra, it will copy the child helpers, that is, if a template includes a "foo" template, any "foo.bar" helper defined, will be copied to the new child template and renamed to "bar".
Parameters
key: string
, helper name
renderer: function
, renderer function for the template
Example:
<script type="text/spacebars" name="list">
List:<br>
{{#each items}}
{{> item }}
{{/each}}
</script>
<script type="text/spacebars" name="item">
{{ foo }} {{ name }} <br>
</script>
<script>
var templates = $("script[type='text/spacebars']").spacebars();
$(".list").blaze(templates['list'])
.includes('item',templates['item'])
.helpers('item.foo', function() {
return 'bar';
})
.render({..});
</script>
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago