component module nami-doc/reactive-watchers. It has been modified to work with NPM+Browserify. You can install it using the command npm install npmcomponent/nami-doc-reactive-watchers
. Please do not open issues or send pull requests against this repo. If you have issues with this repo, report it to npmcomponent.
Reactive Watchers
This repository is a mirror of the Bindings generator for Reactive and Model/Modella.
Install
$ component install Nami-Doc/reactive-watchers
Usage
model = require 'modella'
model-list = require './my-model-list'
# Create the model with modella
User = model 'User'
.attr '_id'
.attr 'name'
.attr 'address'
# create watchers for fields
react = new reactive-watchers new-model, <[ name address ]>
# create a model to hold the form fields value
new-model = new User
view = reactive el, models,
delegate:
# generate delegates ("updateField")
react.generate! with
add-model: !->
# ... do your validations
# push model to list (reactive will update the view)
list-models.push new-model
# override `reactive-watchers`'s `model` with a clean one
react.model = new-model := new User
With the corresponding HTML :
<form on-submit="addModel">
<fieldset>
<legend>Add a user</legend>
<input name="name" placeholder="Name" on-change="updateName" />
<input name="address" placeholder="Address" on-change="updateAddress" />
<input type="submit" />
</fieldset>
</form>
Or if you like Jade better :
form(on-submit="addModel")
fieldset
legend Add a user
input(name="name" placeholder="Name" on-change="updateName")
input(name="address" placeholder="Address" on-change="updateAddress")
input(type="submit")