zoukankan      html  css  js  c++  java
  • vue官网-prop

    prop:

    <!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>Document</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/axios@0.12.0/dist/axios.min.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/lodash@4.13.1/lodash.min.js"></script>
        <style>
            div {
                font-size: 14px;
                font-weight: normal;
                color: grey;
            }
            .title {
                font-size: 22px;
                font-weight: bolder;
                color: skyblue;
            }
            .common {
                margin-top: 20px;
                margin-bottom: 20px;
                border-top: 2px dashed gainsboro;
            }
            .parting-line {
                background: peachpuff;
                margin: 20px;
            }
        </style>
    </head>
    <body>
        <div id="app1">
            <div class="common">
               <div class="title">(1) app1-传递静态prop</div>
               <blog-post post-title="m kkdsd"></blog-post>
    
               <div class="title">(2) app1-动态赋予一个变量的值</div>
               <blog-post v-bind:post-title="post.title"></blog-post>
    
               <div class="title">(3) app1-动态赋予一个复杂表达式的值</div>
               <blog-post v-bind:post-title="post.title + ' by ' + post.author.name"></blog-post>
    
            </div>  
        </div>
    </body>
    <script>
        // prop验证
        Vue.component('my-component', {
            props: {
                // 基础类型检查
                propA: Number,
                // 多个可能的类型
                propB: [String, Number],
                // 必填字符串
                propC: {
                    type: String,
                    required: true
                },
                // 带有默认值的数字
                propD: {
                    type: Number,
                    default: 100
                },
                // 带有默认值的对象
                propE: {
                    type: Object,
                    default: function(){
                        return { message: 'hello'}
                    }
                },
                // 自定义验证函数
                propF: {
                    validator: function(value){
                        // 这个值必须匹配下列字符串中的一个
                        return ['success', 'warning', 'danger'].indexOf(value) !== -1
                    }
                }
    
            }
        })
        Vue.component('blog-post', {
            props:['postTitle'],
            template:`<h3>{{postTitle}}</h3>`
        })
        var app1 = new Vue({
            el:'#app1',
            data:{
                post:{
                    title:'kkk',
                    author:{
                        name:'888'
                    }
                }
            }
        })
    </script>
    </html>
    

      参考 & 感谢:vue官网 & 各路大神

  • 相关阅读:
    FILE
    基础知识const/typedef/函数指针/回调函数
    strchr
    ftell
    rewind
    fread
    poj 2309BST解题报告
    hdoj 4004The Frog's Games解题报告
    哈理工oj 1353LCM与数对解题报告
    poj 2453An Easy Problem解题报告
  • 原文地址:https://www.cnblogs.com/haimengqingyuan/p/11426633.html
Copyright © 2011-2022 走看看