# troojs

> too service javascript client

Latest version **1.0.0** (published 2017-02-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install troojs
pnpm add troojs
yarn add troojs
bun add troojs
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2017-02-08 |
| First published | 2017-02-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Bryan Apellanes |
| Maintainers | bryanapellanes |
| Keywords | bam, troo, client |

## Links

- npm: https://www.npmjs.com/package/troojs
- Repository: https://github.com/BryanApellanes/bamvvm
- Homepage: https://github.com/BryanApellanes/bamvvm#readme
- Issues: https://github.com/BryanApellanes/bamvvm/issues
- npm.io page: https://npm.io/package/troojs

## Alternatives

- [launchdarkly-js-client-sdk](https://npm.io/package/launchdarkly-js-client-sdk.md) — 2.5M weekly downloads
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) — 2.1M weekly downloads
- [@c8y/client](https://npm.io/package/@c8y/client.md) — 15.3K weekly downloads
- [@signaldb/maverickjs](https://npm.io/package/@signaldb/maverickjs.md) — 1.7K weekly downloads
- [@bbc/http-transport-cache](https://npm.io/package/@bbc/http-transport-cache.md) — 1.2K weekly downloads

## Recent versions

- 1.0.0 (latest) — 2017-02-08

## README

# 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](https://github.com/BryanApellanes/bamvvm/blob/master/data/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](https://github.com/BryanApellanes/bamvvm/blob/master/data/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.

---
_Source: https://npm.io/package/troojs · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
