vue中子组件向父组件传递数据的实例代码(实现加减功能)

时间:2021-05-26

这里讲解一下子组件向父组件传递值的常用方式。 这里通过一个加减法的实例向大家说明一下,这个的原理。

如下图所示:

当没有任何操作的时候父组件的值是 0

当点击加号以后父组件的值是 1

当点击减号以后父组件的值是减一变成 0

具体代码我直接贴出来,刚出炉的代码。

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>子组件将数据传递给父组件</title> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script></head><script>//定义一个组件Vue.component('counter', { template: '\ <div style="background:#eee;width: 238px;">\ <div>这里是子组件里面的内容!</div>\ <div style="margin-top:20px"></div>\ <div>\ <span style="margin-right:20px;display:inline-block;">加法运算</span><button @click="incrementCounter">+</button>\ </div>\ <div>\ <span style="margin-right:20px;margin-top:20px;display:inline-block;">减法运算</span><button @click="deleteCounter">-</button>\ </div>\ </div>\ ', data: function () { return { counter: 0 } }, methods: { incrementCounter: function () { this.counter += 1; this.$emit('increment',1); }, deleteCounter: function () { this.counter -= 1; this.$emit('increment',2); } }})//执行一个组件window.onload = function(){ var app = new Vue({ el: '#app', data: { total: 0 }, methods:{ incrementTotal: function (val) { if(val==1){ this.total += 1; }else{ if(this.total<=0){ this.total = 0; }else{ this.total -= 1; } } } } })}</script><body> <div id="app" style="background:red;width: 238px;"> <p>这里是父组件里面的内容!</p> <p>子组件传递的值:<b>{{ total }}</b></p> <counter v-on:increment="incrementTotal"></counter> </div></body></html>

总结

以上所述是小编给大家介绍的vue中子组件向父组件传递数据的实例代码(实现加减功能) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章