Vue.js Cheat Sheet
Vue is a progressive JavaScript framework for building user interfaces. Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. The core library is focused on the view layer only, and is easy to pick up and integrate with other libraries or existing projects.
Lists
<li v-for="todo in todos">
{{ todo.text }}
{{ $index }}
</li>Events
<button v-on:click='submit'>Go</button>Components
new Vue({
components: { app: App }
})API Interface
Vue.extend({ ... }) // creating components
Vue.nextTick(() => {...})
Vue.set(object, key, val) // reactive
Vue.delete(object, key)
Vue.directive('my-dir', { bind, update, unbind })
// <div v-my-dir='...'></div>
Vue.elementDirective('my-dir', { bind, update, unbind })
// <my-dir>...</my-dir>
Vue.component('my-component', Vue.extend({ .. }))
Vue.partial('my-partial', '<div>hi {{msg}}</div>')
// <partial name='my-partial'></partial>
new Vue({
data: { ... }
props: ['size'],
props: { size: Number },
computed: { fullname() { return this.name + ' ' + this.lastName } },
methods: { go() { ... } },
watch: { a (val, oldVal) { ... } },
el: '#foo',
template: '...',
replace: true, // replace element (default true)
// lifecycle
created () {},
beforeCompile () {},
compiled () {},
ready () {}, // $el is inserted for the first time
attached () {},
detached () {},
beforeDestroy () {},
destroyed () {},
// options
directives: {},
elementDirectives: {},
filters: {},
components: {},
transitions: {},
partials: {}
})Vue Template
Refer to vueify
// app.vue
<template>
<h1 class="red">{{msg}}</h1>
</template>
<script>
module.exports = {
data () {
return {
msg: 'Hello world!'
}
}
}
</script> and
<template lang='jade'>
h1(class='red') {{msg}}
</template>