vue.js之单向数据流

vue.js父子组件之间的数据通信,细节总结 隐性规则:单行数据流 学前疑问: 1.父组件如何向子组件通信数据?2.父组件可以直接修改子组件的数据!但是反过来绝对不可以!那怎么解决这个问题呢...

vue.js父子组件之间的数据通信,细节总结

隐性规则:单行数据流
学前疑问:
1.父组件如何向子组件通信数据?
2.父组件可以直接修改子组件的数据!但是反过来绝对不可以!那怎么解决这个问题呢?
3.所谓的单向数据流,就是约束子直接改父,以避免上述情况的发生!
4.子组件如何向父组件通信数据?


要点简介:
1.父组件都是通过属性 的方式向子组件传递数据 的!
2.父组件可以直接修改子组件的数据!反之,绝对不可以!
3.子组件都是通过事件触发的方式,向父组件通信数据的!
4.父子组件之间通信数据的隐性规定:就是“ 单向数据流 ”!


重要代码示下:


<body>
    <div id="app">
        <counter :count="4" @change="handleIncrease"></counter>
        <counter :count="6" @change="handleIncrease"></counter>
        <div>{{total}}</div>
    </div>
    <script>
        //定义子组件
        var counter = {
            props: ['count'],//接受父组件的什么内容?属性内容!
            data: function() {
                return {
                    number: this.count
                }
            },
            template: '<button @click="handleClick">{{number}}</button>',
            methods: {
                handleClick: function() {
                    this.number ++;
                    this.$emit('change', 1); //自定义事件名称change,携带的参数为1
                }
            }
        }
        //父组件
        var app = new Vue({
            el: '#app',
            data: {
                total: 10
            },
            components: {
                counter: counter
            },
            methods: {
                handleIncrease: function(step) {
                    this.total += step;
                }
            }
        })
    </script>
</body>
注意上述代码,记住几点:
父组件:都是通过属性的方式向子组件传递数据的!
子组件:定义属性number复制父组件数据,再通过事件触发的方式,完成向父组件通信数据。
,表示传递 ,表示传递 以上就是关于 “ vue.js踩坑之单向数据流 ” 的全部内容。

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

651 篇文章

作家榜 »

  1. admin 651 文章
  2. 粪斗 185 文章
  3. 王凯 92 文章
  4. 廖雪 78 文章
  5. 牟雪峰 12 文章
  6. 李沁雪 9 文章
  7. 全易 2 文章
  8. Stevengring 0 文章