Vue父子模版传值及组件传值的三种方法
这里是针对于vue1.0,如果要学2.0,建议大家去看官方文档
vue2.0 http://vuefe.cn/guide/
vue-router2.0https://router.vuejs.org/zh-cn/essentials/getting-started.html
第一种
<div id="example">
<my-component></my-component>
</div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script>
//向子组件传递数据
//省略extend方法,vue内部调用
Vue.component('my-component', {
//模板里不支持驼峰的属性写法,需要转换为‘-'连接的属性写法
data:function(){
return{
parentMsg: '雨歇微凉'
}
},
template: '<div>'
+'<input v-model="parentMsg">'
+'<br>'
+'<child-component :my-message="parentMsg"></child-component>'
+'</div>',
components: {
'child-component': {
props: ['myMessage'],
template: '<div>{{myMessage}}</div>'
}
}
});
// 创建根实例1
new Vue({
el: '#example'
});
</script>
有什么疑惑的,也可以去查官网的文档,prop传值,这里也可以直接拷去试,如果你有什么更好的简介,还希望能够拿出来分享。
第二种
<div id="example">
<my-component></my-component>
</div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script>
//向子组件传递数据
//省略extend方法,vue内部调用
Vue.component('my-component', {
data:function(){
return {
name:'xiaoming',
age:20
}
},
//模板里不支持驼峰的属性写法,需要转换为‘-'连接的属性写法
template: '<div >{{name}}Parent</div><child1-component v-bind:msg-name="name"></child1-component>',
components: {
'child1-component': {
// 声明 props
props: ['msgName'],
template: '<div>A child-111111 component!{{msgName}}</div>'
}
}
});
// 创建根实例1
new Vue({
el: '#example'
});
</script>
第三种
<div id="example">
<my-component></my-component>
</div>
<script src="../node_modules/vue/dist/vue.js"></script>
<script>
//向子组件传递数据
//省略extend方法,vue内部调用
Vue.component('my-component', {
data:function(){
return {
name:'xiaoming',
age:20
}
},
//模板里不支持驼峰的属性写法,需要转换为‘-'连接的属性写法
template: '<div >{{name}}Parent</div><child1-component some="1 + 1"></child1-component><child2-component :some="1 + 3"></child2-component>',
components: {
'child1-component': {
// 声明 props
props: ['some'],
template: '<div>{{some}}</div>',
ready:function(){
console.log(this.some)
}
},
'child2-component': {
// 声明 props
props: ['some'],
template: '<div>{{some}}</div>',
ready:function(){
console.log(this.some)
}
}
}
});
// 创建根实例1
new Vue({
el: '#example'
});
</script>
这个例子主要是说明带冒号和不带冒号的区别,不带冒号就是一个字符串死值,带冒号会到父模版的data中去寻找值的具体内容。
总结
以上所述是小编给大家介绍的Vue父子模版传值及组件传值的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
element-ui下拉输入框+resetFields无法回显的问题解决
本文主要介绍了在使用Element UI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的可以了解一下2025-01-01
Vue props传入function时的this指向问题解读
这篇文章主要介绍了Vue props传入function时的this指向问题解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-01-01
大前端代码重构之事件拦截iOS Flutter Vue示例分析
这篇文章主要为大家介绍了大前端代码重构之事件拦截iOS Flutter Vue示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-04-04


最新评论