• Vue props 单向数据流


    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 {
                                 this.width + 'px'
                            }
                        }
                    }
                })
                new Vue({
                    el: "#app"
                })
            </script>
        </body>
    
    </html>
  • 相关阅读:
    golang实现dns域名解析(一)
    互联网协议入门(一)(转)
    DNS入门(转)
    随笔:Golang 时间Time
    mysql查询某一个字段是否包含中文字符
    screen状态变Attached连接会话失败
    golang :连接数据库闲置断线的问题
    神奇的GO语言:空接口(interface)
    Go语言:变参函数
    go语言:函数参数传递详解
  • 原文地址:https://www.cnblogs.com/mengfangui/p/8057613.html
Copyright © 2020-2023  润新知