一般情况下,实例内的组件无法访问实例的属性和方法,
需要给组件添加属性和事件
<div id='app'>
<component :is="'comp'" :dataname='msg' @funcname='fun'></component>
</div>
var vm = new Vue({
el: '#app',
data: {
msg: 'message'
},
methods: {
fun: function () {
console.log('hello');
}
},
components: {
'comp': {
template: '<h2>component.{{dataname}}<button @click="clickEvent">click</button></h2>',
props: ['dataname'], //只读,组件的自定义属性名
methods: {
clickEvent: function () {
this.$emit('funcname'); //组件的自定义事件名
}
}
}
}
});