Vue 2.0 Hello World
by Edward Tanguay
HTML
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/lodash"></script>
<div id="app">
<p>{{ message }}</p>
<test-component v-bind="propsFor('test-component', {name: 'Tony', place: 'LA'})"></test-component>
</div>
Babel + JSX
Vue.component('test-component', {
props: ['name'],
render(h) { return h('div', this.name) }
})
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue.js222!'
},
methods: {
propsFor(componentName, props = this.$props) {
const cTor = this.$options.components[componentName]
if (cTor) {
const keys = Object.keys(cTor.options.props)
return _.pick(props, keys) // https://lodash.com/docs/4.17.4#pick
} else {
return {}
}
}
}
})
console.log(app)