码迷,mamicode.com
首页 > 其他好文 > 详细

Vue props 单向数据流

时间:2017-12-18 18:36:40      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:compute   strong   warning   style   驼峰   lang   fun   script   col   

1、props通信

注意:DOM模板的驼峰命名props要转为短横分割命名。

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <title>Vue</title>
    </head>

    <body>
        <div id="app">
            <my-component message=‘来自父组件的数据‘ warning-text="提示信息"></my-component>

        </div>
        <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
        <script type="text/javascript">
            Vue.component(my-component, {
                template: <div>{{warningText}}:{{message}}</div>,
                props: [message, warningText]
            })
            new Vue({
                el: "#app"
            })
        </script>
    </body>

</html>

传递动态数据(v-bind):

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <title>Vue</title>
    </head>

    <body>
        <div id="app">
            <input type="text" v-model="parentMessage" />
            <my-component :message=‘parentMessage‘></my-component>

        </div>
        <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
        <script type="text/javascript">
            Vue.component(my-component, {
                template: <div>{{message}}</div>,
                props: [message]
            })
            new Vue({
                el: "#app",
                data: {
                    parentMessage: ‘‘
                }
            })
        </script>
    </body>

</html>

2、单向数据流

(1)子组件保存父组件传递过来的值,在子组件自己的作用域下修改和使用。

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <title>Vue</title>
    </head>

    <body>
        <div id="app">

            <my-component :init-count=‘1‘></my-component>

        </div>
        <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
        <script type="text/javascript">
            Vue.component(my-component, {
                template: <div>{{initCount}}</div>,
                props: [initCount],
                data: function() {
                    return this.initCount
                }
            })
            new Vue({
                el: "#app"
            })
        </script>
    </body>

</html>

(2)使用计算属性

<!DOCTYPE html>
<html lang="zh">

    <head>
        <meta charset="UTF-8" />
        <title>Vue</title>
    </head>

    <body>
        <div id="app">

            <my-component :width=‘100‘></my-component>

        </div>
        <script src="https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
        <script type="text/javascript">
            Vue.component(my-component, {
                template: <div :style="style">组件内容</div>,
                props: [width],
                computed: {
                    style: function() {
                        return {
                            width: this.width + px
                        }
                    }
                }
            })
            new Vue({
                el: "#app"
            })
        </script>
    </body>

</html>

 

Vue props 单向数据流

标签:compute   strong   warning   style   驼峰   lang   fun   script   col   

原文地址:http://www.cnblogs.com/mengfangui/p/8057613.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!