美文网首页
数据的双向绑定、条件与循环

数据的双向绑定、条件与循环

作者: 忆曦雪_ | 来源:发表于2019-03-06 21:30 被阅读0次

    一、数据的双向绑定

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>v-model数据双向绑定练习</title>
            <!-- 通过CDN引入Vue.js -->
            <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        </head>
        <body>
            <!-- Vue-app的根容器 -->
            <div id="app">
                <input type="text" v-model="name" placeholder="请输入:"/>
                <h2>你好,{{name}}</h2>
            </div>
            <script type="text/javascript">
                // 实例化一个Vue对象
                var app=new Vue({
                    el:'#app',
                    data:{
                        name: 'abcd'
                    }
                })
            </script>
        </body>
    </html>
    
    运行结果
    • 使用v-bind绑定data中的属性

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>v-bind单向绑定练习</title>
            <!-- 通过CDN引入Vue.js -->
            <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        </head>
        <body>
            <!-- Vue-app的根容器 -->
            <div id="app">
                <p>姓名:{{name}}</p>
                <input type="text" v-bind:value="description" />
                <a v-bind:href="url">{{website}}</a>
                <img :src="avatar" >
            </div>
            <script type="text/javascript">
                // 实例化一个Vue对象
                var app=new Vue({
                    el:'#app',
                    data:{
                        name:'尤雨溪',
                        description:'Vue.js的创立者',
                        website:'Vue.js官网',
                        url:'https://cn.vuejs.org/',
                        avatar:'https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign=c08a0c60a844ad342ebf8081e8996bc9/4afbfbedab64034f29596c8ba6c379310b551da2.jpg'
                    }
                })
            </script>
        </body>
    </html>
    

    语法糖:v-bind可以简写为:,如<img :src="avatar"/>

    • 运行结果:


      运行结果

    二、条件与循环

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title>Vue.js条件和循环的综合练习</title>
            <!-- 通过CDN引入Vue.js -->
            <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
            <style type="text/css">
                .container{
                    display: flex;
                    width: 80%;
                    margin: 0 auto;
                }
                .card{
                    width: 200px;
                    height:200px;
                    margin-right: 30px;
                    border: 1px solid #EEE;
                    border-radius: 10px;
                    text-align: center;
                }
                .card img{
                    height:100%;
                    width:100%;
                    border-bottom-left-radius: 10px;
                    border-bottom-right-radius: 10px;
                }
                .like{
                    color: green;
                    font-weight: bold;
                }
                .nolike{
                    color:red;
                    font-weight: bold;
                }
            </style>
        </head>
        <body>
            <!-- Vue-app的根容器 -->
            <div id="app">
                <h2 v-if="show">显示图书信息</h2>
                <div class="container">
                    <!-- 通过循环遍历books数组 -->
                    <div class="card" v-for="book in books">
                        <!-- 显示图片的名称 -->
                        <h4>{{book.name}}</h4>
                        <!-- 绑定图片的封面属性 -->
                        <img :src="book.cover">
                        <!-- 判定like的值,显示不同的文字 -->
                        <p class="like" v-if="book.like">喜欢</p>
                        <p class="nolike" v-else>不喜欢</p>
                    </div>
                </div>
            </div>
            <script type="text/javascript">
                // 实例化一个Vue对象
                var app=new Vue({
                    el:'#app',
                    data:{
                        show:true,
                        books:[
                            {
                                name:'无名盛宴',
                                cover:'img/1.jpg',
                                like:true
                            },
                            {
                                name:'念楼学短',
                                cover:'img/2.jpg',
                                like:false
                            },
                            {
                                name:'且在人间',
                                cover:'img/3.jpg',
                                like:true
                            },
                            {
                                name:'你好,地球人',
                                cover:'img/4.jpg',
                                like:false
                            }
                        ]
                    }
                })
            </script>
        </body>
    </html>
    
    

    运行结果:


    运行结果
    • 条件渲染指令: v-if、v-else-if、v-else:可以根据表达式的值在DOM中渲染或销毁元素/组件,与v-show不同的是,v-if是真正的条件渲染,适合条件不经常变更的场景;而v-show只是简单的CSS属性切换,使用于频繁切换条件。
    • 列表渲染指令:v-for:当需要将一个数组遍历或枚举一个对象循环显示时,会用到列表渲染指令v-for,结合in来使用

    相关文章

      网友评论

          本文标题:数据的双向绑定、条件与循环

          本文链接:https://www.haomeiwen.com/subject/mvhfpqtx.html