zoukankan      html  css  js  c++  java
  • vue基础之命令

    一什么是Vue

    Vue是一个构建用户界面的JAVASCRITPO框架。

    二怎样使用Vue

     1.引入vue.js
            <script src="vue.js"></script>
    
    2.展示HTML
            <div id="app">
                    <input type="text" v-model="msg">
                    <p>{{msg}}</p>
             </div>
    3.建立vue对象
                   new Vue({
                        el: "#app", //表示在当前这个元素内开始使用VUE
                        data:{
                            msg: ""
                        }
                    })                

    三在元素中插入值

    {{}},里面可以放表达式
     指令:是带有V-前缀的特殊属性,通过属性来操作元素
    
     v-text:在元素当中插入值
     v-html:在元素不中不仅可以插入文本,还可以插入标签
     v-if: 根据表达式的真假值来动态插入和移除元素
     v-show:根据表达式的真假值来隐藏和显示元素
     v-for:根据变量的值来循环渲染元素
     v-on:监听元素事件,并执行相应的操作
     对数组的操作:
     push
     pop
     shift
     unshift
     splice
     reverse
    
     v-bind:绑定元素的属性来执行相应的操作
     v-model:实现了数据和视图的双向绑定
     分成了3步:
     1)把元素的值和数据相绑定
     2)当输入内容时,数据同步发生变化,视图  ---数据的驱动
     3)当改变数据时,输入内容也会发生变化,数据-》视图的驱动

    1. v-html动态生成html标签

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="vue.js"></script>
    </head>
    <style>
        ul li{
            list-style: none;
        }
    </style>
    <body>
    
    <div id="app">
       <ul>
           <li>
               <input type="checkbox">苹果
           </li>
            <li>
               <input type="checkbox">香蕉
           </li>
            <li>
               <input type="checkbox">葡萄
           </li>
            <li>
               <input type="checkbox" v-on:click="create()">其它
           </li>
           <li v-html="htmlstr" v-show="test"></li>
       </ul>
    
    
    </div>
    
    <script>
        var vm = new Vue({
            el: "#app",//表示在当前这个元素内开始使用VUE
            data:{
                htmlstr:"<textarea></textarea>",
                test:false
            },
            methods:{
                create:function () {
                    this.test=!this.test;
                }
            }
        })
    </script>
    </body>
    </html>
    
    <!--动态生成HTML-->
    <!--
    小知识点:去掉li标签前面的小点,list-style=none
    复选框:type="checkbox"
    v-html="htmlstr"在元素不中不仅可以插入文本,还可以插入标签,动态生成HTML标签
    v-show:根据表达式的真假值来隐藏和显示元素
    
    -->
    

    2 . v-model

    <!--双向绑定-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="vue.js"></script>
    </head>
    <body>
    <div id="app">
        <input type="text" v-model="msg">
        <p>{{msg}}</p>
    </div>
    <script>
        new Vue({
            el:"#app",//表示在当前这个元素内开始使用Vue
            data:{
                msg:""
            }
        })
    </script>
    </body>
    </html>
    
    <!--
        v-model:实现了数据和视图的双向绑定
         分成了3步:
         1)把元素的值和数据相绑定
         2)当输入内容时,数据同步发生变化,视图  ---数据的驱动
         3)当改变数据时,输入内容也会发生变化,数据-》视图的驱动
    -->
    

    v-on

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="vue.js"></script>
        <style>
            ul li{
                list-style: none;
                display: inline-block;
                border: 1px solid cornflowerblue;
                height:40px;
                line-height: 40px;
                 120px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <div id="mybox">
            <ul>
                <li>
                    <span v-on:click="qh(true)">二唯码登录</span>
                </li>
                <li>
                    <span v-on:click="qh(false)">邮箱登录</span>
                </li>
            </ul>
    
            <div v-show="temp">
                <img src="erma.jpg">
            </div>
            <div v-show="!temp">
                <form action="http://mail.163.com" method="post">
                    <p><input type="email"></p>
                    <p><input type="password"></p>
                    <p><input type="submit" value="登录"></p>
                </form>
            </div>
        </div>
        <script>
            new Vue({
                el: "#mybox",
                data: {
                    temp: true
                },
                methods: {
                    qh: function (t) {
                        this.temp = t
                    }
                }
            })
        </script>
    </body>
    </html>
    

    v-for

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="vue.js"></script>
        <style>
            ul li{
                list-style: none;
            }
        </style>
    </head>
    <body>
    <div id="app">
        <ul>
            <li v-for="(item,index1) in aaa">
                {{item}}:{{index1}}
            </li>
        </ul>
        <ul>
            <li v-for="item1 in ccc">
                {{item1.username}}
                {{item1.age}}
                {{item1.sex}}
            </li>
        </ul>
        <ul>
            <li v-for="(item3,key,index) in bbb">
                {{item3}}:{{key}}:{{index}}
            </li>
        </ul>
    
    <input type="button" value="点我吧" @click="show()">
    <a :href="url">我想去百度</a>
    </div>
    <script>
        new Vue({
            el:"#app",//表示在当前这个元素内开始使用VUE
            data:{
                aaa:[11,22,33,44,55],
                bbb:{a:"刘能",b:"赵四",c:"谢广坤",d:"谢大脚",e:"王老七"},
                ccc:[
                    {username:"长贵"},
                    {age:20},
                    {sex:"male"}
                ],
                str:"亲爱的,我来了",
                url:"http://www.baidu.com"
            },
            methods:{
                show:function () {
                    this.aaa.pop()
                }
            }
        })
    </script>
    </body>
    </html>
    
    
    <!--
        v-for:根据变量的值来循环渲染元素
    -->
    

    v-if ,v-else,v-show

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="vue.js"></script>
    </head>
    <body>
    <div id="app">
        <p v-if="aaa">我是斯蒂芬库里</p>
        <p v-else>我是凯文杜兰特</p>
        <p v-show="bbb">我是泽勒卡戴珊</p>
        <p v-show="ok" style="color: aqua">你们喜欢我吗?</p>
    
    </div>
    <script>
        var vm = new Vue({
            el:"#app",
            data:{
                aaa:true,
                bbb:true,
                ok:true
            }
        })
        window.setInterval(function () {
            vm.ok = !vm.ok;
        },500)
    </script>
    </body>
    </html>
    
    <!--
        v-if: 根据表达式的真假值来动态插入和移除元素,当然有if的情况下就必须有else
        v-show:根据表达式的真假值来隐藏和显示元素
        -->
    
    <!--
        window.setInterval(function () {
            vm.ok = !vm.ok;
        },500)
        用来做时间间隔的
    -->
    

    v-model

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
       <script src="vue.js"></script>
        <style>
            ul li{
                list-style: none;
            }
        </style>
    </head>
    <body>
          <div id="app">
            <input v-model="msg">
              <p>{{msg}}</p>
              <input type="button" value="变化" @click="change">
        </div>
        <script>
            new Vue({
                el: "#app", //表示在当前这个元素内开始使用VUE
                data:{
                  msg: "aaaaa"
                },
                methods: {
                    change: function () {
                        this.msg = 8888888;
                    }
                }
    
            })
    
    
        </script>
    
    </body>
    </html>
    
    
    <!--
        v-model双向绑定还可以改变数据
    
    -->
    

    模板

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
       <script src="vue.js"></script>
    </head>
    <body>
          <div id="app">
            <p>{{msg}}</p>
            <p>{{80+2}}</p>
            <p>{{20>30}}</p>
            {{msg}}
              我是:<h1 v-text="msg">{{str}}</h1>
              你是:<h1 v-text="msg">2222222222222</h1>
    
              <h2 v-html="hd"></h2>
              <h2 v-html="str"></h2>
        </div>
        <script>
            new Vue({
                el: "#app", //表示在当前这个元素内开始使用VUE
                data:{
                    msg: "我是老大",
                    hd: "<input type='button' value='你是小三'>",
                    str: "我要发财!"
                }
            })
        </script>
    </body>
    </html>
    

    V-HTML

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
       <script src="vue.js"></script>
    </head>
    <body>
          <div id="app">
            <p>{{msg}}</p>
            <p>{{80+2}}</p>
            <p>{{20>30}}</p>
            {{msg}}
              我是:<h1 v-text="msg">{{str}}</h1>
              你是:<h1 v-text="msg">2222222222222</h1>
    
              <h2 v-html="hd"></h2>
              <h2 v-html="str"></h2>
        </div>
        <script>
            new Vue({
                el: "#app", //表示在当前这个元素内开始使用VUE
                data:{
                    msg: "我是老大",
                    hd: "<input type='button' value='你是小三'>",
                    str: "我要发财!"
                }
            })
        </script>
    </body>
    </html>
    

      

      

     

     

  • 相关阅读:
    汇编学习笔记(一)
    外部中断的资料
    喇叭的落幕
    红外模块
    SQL2005连接不上解决
    DataGrid中动态添加列,使用CheckBox选择行
    List和ObservableCollection的相互转化
    使用C#发送邮件
    C#委托与事件 简明
    Linq GroupBy 求和
  • 原文地址:https://www.cnblogs.com/wanghaohao/p/8351755.html
Copyright © 2011-2022 走看看