Vue父子模版传值及组件传值的三种方法
程序员文章站
2022-03-20 21:54:42
这里是针对于vue1.0,如果要学2.0,建议大家去看官方文档
vue2.0
vue-router2.0https://router.vuejs.org/zh-c...
这里是针对于vue1.0,如果要学2.0,建议大家去看官方文档
vue2.0
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父子模版传值及组件传值的三种方法,希望对大家有所帮助
上一篇: ThinkPHP5.0的config问题
下一篇: Vue.js搭建移动端购物车界面