zoukankan      html  css  js  c++  java
  • Vue学习记录

    2021.11.27

    el挂载点

    el是用来设置Vue实例挂载(管理)的元素
    Vue会管理el选项命中的元素及其内部的后代元素
    可以使用其他的选择器但是建议使用ID选择器
    可以使用其他的双标签,不能使用html和body标签,不能使用单标签

    data数据对象

    Vue中用到的数据定义在data中
    data中可以写复杂类型的数据
    渲染复杂类型数据时,遵守js的语法即可

    v-text指令

    v-text指令作用:设置标签的内容(textContent)
    默认写法会替换全部内容,使用差值表达式{{}}可以替换指定内容

    v-html指令
    v-html指令作用:设置元素的innerHTML
    内容中有html结构会被解析为标签
    v-text指令无论内容是什么只会解析为文本

    v-on指令
    v-on指令作用:为元素绑定事件
    事件名不需要写on
    指令可以简写为@

    2021.12.4

    计数器

    创建Vue示例时:el(挂载点),data(数据),methods(方法)
    v-on指令的作用时绑定事件,简写为@
    方法中通过this,关键字获取data中的数据
    v-text指令的作用是:设置元素的文本值,简写{{}}
    v-html指令的作用是:设置元素的innerHTML

    v-show指令

    作用:根据真假切换元素的显示状态
    原理是修改元素的display,实现显示隐藏
    指令后面的内容,最终都会解析为布尔值
    值为true元素显示,值为false元素隐藏

    2021.12.8

    v-if指令
    作用:根据表达式的真假切换元素的显示状态
    本质是通过操纵dom元素来切换显示状态
    表达式的值为true,元素存在于dom树中,为false,从dom树中移除
    频繁的切换使用v-show,反之使用v-if,前者的切换消耗小

    v-bind指令
    作用:为元素绑定属性
    完整写法是v-bind:属性名
    简写可省略v-bind,只保留:属性名
    需要动态的增删class建议用对象的方式:class="{active:isActive}"

    代码:

    <div id="app">
    <img v-bind:src="imgSrc" />
    <img v-bind:title="imgTitle+'!!!'" />
    <img v-bind:class="{active:isActive}" />
    </div>
    
    <script>
    //创建vue实例
    var app = new Vue({
    el:"#app",
    data:{
    imgSrc:"图片地址",
    imgTitle:"程序员",
    isActive:false
    }
    })
    </script>

    2021.12.9

    v-for指令

    作用:根据数据生成列表结构
    数组经常和v-for结合使用
    语法是(item,index) in data
    item和index可以结合其他指令一起使用
    数组长度的更新会同步到页面上,是响应式的

    代码:

    <div id="app">
            <input type="button" value="添加数据" @click="add" />
            <input type="button" value="移除数据" @click="remove" />
            <ul>
                <li v-for="(item,index) in arr">
                    {{index+1}}城市:{{item}}
                </li>
            </ul>
            <h2 v-for="item in fruit">
                {{item.name}}
            </h2>
        </div>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script>
            //创建vue实例
            var app = new Vue({
                el:"#app",
                data:{
                    arr:["北京","上海","广州","深圳"],
                    fruit:[
                    {name:"西瓜"},{name:"榴莲"}
                    ]
                },
                methods:{
                    add:function(){
                        this.fruit.push({name:"菠萝"});
                    },
                    remove:function(){
                        this.fruit.shift();
                    }
                }
                
            })
        </script>

    运行结果:

  • 相关阅读:
    Codeforces D
    Codeforces C
    Minimal Ratio Tree HDU
    Tian Ji -- The Horse Racing HDU
    Monkey Banana Problem LightOJ
    Rooks LightOJ
    洛谷 P2742 [USACO5.1]圈奶牛Fencing the Cows || 凸包模板
    洛谷 P3382 【模板】三分法
    洛谷 P1438 无聊的数列
    洛谷 P1082 同余方程
  • 原文地址:https://www.cnblogs.com/lhx0814/p/15641447.html
Copyright © 2011-2022 走看看