Skip to content

BryanApellanes/bamvvm

Repository files navigation

BAMvvm

BAM application model, view, view-model framework

Models

All models in BAMvvm are plain and simply JavaScript objects. They may be observed by using observer.observe which will return an observable object if an object is specified or an observable collection if an array is specified; see observer.js

Views

Views in BAMvvm are html files or dust templates. Html has always been the language used to express views on the web and is ubiquitous. Dynamism in a view is achieved by the use of viewModels.

ViewModels

ViewModels in BAMvvm are the "W" in the MVW or the "*" in MV*. BAMvvm implements the MVVM pattern in the browser. ViewModels define what actions can be taken on a view and provides the wiring between models and views.

Data attributes

data-opts-[property-name]

Used to specify options for plugins and other bamvvm events such as navigation. Parsed by $.dataSetOptions and returns an object with properties mirroring those specified with the "data-opts" portion removed and the remainder camel cased.

data-navigate-to

Used to specify an element that causes bamvvm navigation when clicked

data-opts-target-state

If specified, used to specify state the target of data-navigate-to should go to upon activation

data-action

Used to specify an action on a viewModel to execute on click or the event specified by data-action-on

data-action-on

Used to specify the event an action should be executed in response to, used in conjunction with data-action

Observer (observer.js)

Used to observe an object or collection. The result of calling observer.observe can be likened to instantiating a backbone model or collection only the resulting object won't suck.

About

Bam application model, view, viewmodel framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published