@cerebral/vue
Vue.js view for Cerebral.
Install
npm install @cerebral/vue vue
Container
import Vue from 'vue/dist/vue'
import { Controller } from 'cerebral'
import { Container, connect } from '@cerebral/vue'
const controller = Controller({
state: {
foo: 'bar'
},
signals: {
clicked: []
}
})
var app = new Vue({
el: '#app',
components: {
container: Container(controller)
}
})
Note! The HTML of the root element must use the container:
<div id="app">
<container>
<my-component></my-component>
</container>
</div>
connect
MyComponent.js
import { connect } from '@cerebral/vue'
import { state, signal } from 'cerebral/tags'
export default connect(
{
foo: state`foo`,
click: signal`clicked`
},
{
template: '<div v-on:click="click()">{{foo}}</div>'
}
)
main.js
import Vue from 'vue/dist/vue'
import { Controller } from 'cerebral'
import { Container, connect } from '@cerebral/vue'
import MyComponent from './MyComponent'
const controller = Controller({
state: {
foo: 'bar'
},
signals: {
clicked: []
}
})
var app = new Vue({
el: '#app',
components: {
container: Container(controller),
'my-component': MyComponent
}
})