美文网首页
2018-09-12

2018-09-12

作者: 99c05f8a86d8 | 来源:发表于2018-09-12 17:24 被阅读0次
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="js/vue.js"></script>
    </head>
    <body>
     <!--v-for-->
    <!--v-model 双向数据绑定  一般对表格类单位使用-->
    
     <div id="jie">
         <input type="text" v-model="msg">
         <p>{{msg}}</p>
     </div>
     <script>
         new Vue({
             el:'#jie',
             data:{
                 msg:'adw'
             }
         })
     </script>
    </body>
    </html>
    

    v-model 双向数据绑定 一般对表格类单位使用 输出结果如下图 表格中数据与下方数据绑定 是一样的


    QQ截图20180912163309.png QQ截图20180912163319.png QQ截图20180912163328.png
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="vue.js"></script>
    </head>
    <body>
    <div id="jie">
        <p>{{msg}}</p>
        <button v-on:click="alt">点击</button>
    </div>
    <script>
        new Vue({
            el:'#jie',
            data:{
                msg:'hello word'
            },
            methods:{//存放函数(方法)
                alt:function(){
                    this.msg='hello 瓦罗兰大陆'
                }
            }
        })
    </script>
    </body>
    </html>
    

    methods 存放函数
    v-on 事件绑定 上图是点击事件 输出结果为下


    QQ截图20180912170506.png

    本是hello word 点击按钮后


    QQ截图20180912170628.png

    如上图所示变成hello 瓦罗兰大陆

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="js/vue.js"></script>
    </head>
    <body>
    <div id="jie">
    <input type="text" v-model="a">
    <button v-on:click="alt">添加按钮</button>
    <ul>
        <li v-for="(value,index) in arr">{{value}} <button v-on:click="sc(index)">删除</button></li>
    </ul>
    </div>
    <script>
    new Vue({
        el:'#jie',
        data:{
            arr:['吃饭','睡觉','打豆豆'],
            a:''
        },
        methods:{
            alt:function(){
                this.arr.push(this.a),
                        this.a=''
            },
            sc: function (ind) {
                this.arr.splice(ind,1)
            }
        }
    })
    </script>
    </body>
    </html>
    

    注:

    1. 原生js中向数组中添加元素要用push,在vue中同样要用push
      2.vue实例中的方法要访问对象实例中的数据要用this
      3.删除时要注意

    输出结果如下图


    QQ截图20180912171524.png QQ截图20180912171551.png QQ截图20180912171642.png QQ截图20180912171650.png

    作业1.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../js/vue.js"></script>
        <style>
            *{
                padding: 0;
                margin: 0;
            }
            header{
                width: 1000px;
                margin: 0 auto;
            }
            input{
                width: 1000px;
                height: 30px;
            }
            button{
                width: 70px;
                height: 30px;
            }
            .tj{
                margin-top: 20px;
                margin-left: 400px;
                margin-right: 50px;
                background-color:mediumturquoise;
            }
            .cz{
                margin-top: 20px;
                background-color: navajowhite;
            }
            table{
                width: 1000px;
                margin: 50px auto;
                text-align: center;
            }
        </style>
    </head>
    <body>
    <div id="jie">
        <header>
            <h3>姓名</h3>
            <input type="text" v-model="arr1.name" placeholder="请输入您的姓名">
            <h3>年龄</h3>
            <input type="text" v-model="arr1.year" placeholder="请输入您的年龄">
            <h3>邮箱</h3>
            <input type="text" v-model="arr1.tel" placeholder="请输入您的邮箱">
            <button class="tj" v-on:click="sub">提交</button>
            <button class="cz" >重置</button>
        </header>
        <table border=1 cellspacing="0">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>邮箱</th>
                <th>操作</th>
            </tr>
            <tr v-for="(value,index) in arrs">
                <td>{{index+1}}</td>
                <td>{{value.name}}</td>
                <td>{{value.year}}</td>
                <td>{{value.tel}}</td>
                <td><button v-on:click="dele(index)">删除</button></td>
            </tr>
        </table>
    </div>
    <script>
    new Vue({
        el:'#jie',
        data: {
            arr1:{
                name:'',
                year:'',
                tel:'',
            },
            arrs: [
                {name: 'Tom', year: '18', tel: 'Tom@126.com'},
                {name: 'Jack', year: '19', tel: 'Jack@126.com'},
                {name: 'Amy', year: '20', tel: 'Amy@126.com'}
            ]
        },
            methods:{
                sub:function(){
                    this.arrs.push(this.arr1),
                            this.arr1={}
                },
                dele:function(ind){
                    this.arrs.splice(ind,1)
                }
            }
    })
    </script>
    </body>
    </html>
    

    输出结果如下


    QQ截图20180912172054.png

    作业 2.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="js/vue.js"></script>
        <style>
            table{
                width: 1000px;
                margin: 0 auto;
                text-align: center;
            }
        </style>
    </head>
    <body>
    <div id="jie1">
        <table border="1" cellspacing="0">
            <thead>
                <tr>
                    <th>编号</th>
                    <th>名称</th>
                    <th>单价</th>
                    <th>数量</th>
                    <th>总价</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(value,index) in arrs">
                    <td>{{index+1}}</td>
                    <td>{{value.name}}</td>
                    <td>{{value.price}}</td>
                    <td>
                        <button v-on:click="dele(index)">-</button>
                        {{value.num}}
                        <button v-on:click="add(index)">+</button>
                    </td>
                    <td>{{value.price*value.num}}</td>
                </tr>
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td>总计{{arr1}}</td>
                </tr>
            </tbody>
        </table>
    </div>
    <script>
        new Vue({
        el:'#jie1',
        data:{
            arrs:[
                {name:'香蕉',price:1,num:0},
                {name:'苹果',price:2,num:0},
                {name:'鸭梨',price:3,num:0}
            ],
            arr1:0
        },
            methods:{
                dele:function(ind){
                     if(this.arrs[ind].num>=1){
                     this.arrs[ind].num-=1,
                         this.arr1-=this.arrs[ind].price
                     }
                 },
                add:function(i){
                    this.arrs[i].num+=1,
                    this.arr1+=this.arrs[i].price
                }
            }
    })
    </script>
    </body>
    </html>
    

    输出如下图


    QQ截图20180914101959.png

    任何都系都要注意细节

    相关文章

      网友评论

          本文标题:2018-09-12

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