Vue
by WILLIAM CORREA
HTML
<div id="app">
<input type="text" v-model="value">
<demo :ninja="value"></demo>
</div>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h2 {
font-weight: bold;
margin-bottom: 15px;
}
del {
color: rgba(0, 0, 0, 0.3);
}
Vue
Vue.component('demo', {
template: `<div>{{ ninja }}</div>`,
props: ['ninja'],
watch: {
ninja (value) {
console.log('~> ninja.watch', value)
}
},
mounted () {
console.log('~> ninja.created', this.ninja)
}
})
new Vue({
el: "#app",
data: () => ({
value: 'dddd'
})
})