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

2019-03-06  本文已影响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>
运行结果
<!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>

运行结果:


运行结果
上一篇 下一篇

猜你喜欢

热点阅读