Vue的基础

Vue的基础

1. 双向绑定及事件

<div id="app">
        <input type="text" v-model="num">
        我是{{name}},今年{{num}}</div>

<script>
    const app = new Vue({
        el: "#app", // element,选择器
        data: {
            name: "张三",
            num: 100
        },
         methods: {
            fun1(){
                this.num++;
            }
        }
    });
</script>

在这里插入图片描述
input内容改变,后面的值也跟着改变

  <!--  v-on:事件名="js代码" ||  v-on:事件名="方法" -->
  <input type="button" value="点我+1" v-on:click="num++">
  <input type="button" value="点我+1" v-on:click="fun1">

在这里插入图片描述

2. 钩子函数

created()方法 ajax异步请求服务器拿到数据
*** -------注意created方法与methods同级---------***

<script>
    const app = new Vue({
        el: "#app", // element,选择器
        data: {
            name: "张三",
            num: 100
        },
        methods: {
            fun1(){
                this.num++;
            }
        },
        //注意created方法与methods同级
        created(){
            // 发送ajax请求
            this.num = 101;
        }
    });
</script>

加载出来的值会覆盖默认的100
在这里插入图片描述

3. 插值表达式

选择3G网络
在这里插入图片描述
用 {{}} 的时候当网速慢的时候会直接显示出来,用户体验很差
在这里插入图片描述

v-text=“name” (最常用)

我是<span v-text="name">xxx</span>,今年{{num}}

v-html

在vue代码加上

 name2: "<span style='color: red'>李四</span>",

4. v-model

  <input type="checkbox" v-model="language" value="java">java<br/>
  <input type="checkbox" v-model="language" value="c++">c++<br/>
  <input type="checkbox" v-model="language" value="php">php <br/>
  已选择:<span v-text="language.join(',')"></span> <!-- 逗号分隔 -->

 language: []
已选择:<span v-text="language"></span>

在这里插入图片描述

 已选择:<span v-text="language.join(',')"></span>

在这里插入图片描述

5. 事件修饰符 v-on(v-on == @)

鼠标右击加一,去除默认弹窗

 <!--鼠标右击加一,去除默认弹窗-->
<input type="button" value="点我+1" @contextmenu.prevent="fun2">
fun2(){
        this.num++;
}

6. 按键修饰符

@keyup.13 == @keyup.enter

<!-- 13是Enter键回车 -->
<input type="text" v-model="num" @keyup.13="submit()">
submit(){
                console.log("你已经提交了");
}

在这里插入图片描述

7. v-for

你需要给Vue一些提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。理想的 key 值是每项都有的且唯一的 id。

<ul>
  <!--加上 :key=""可以提高渲染效率 key的值必须是唯一的 -->
  <li v-for="(a,b,index) in user" :key="index">{{index}}:{{b}}-{{a}}</li>
</ul>

<ul>
   <li v-for="(u,index) in users" :key="index">{{index}}:{{u.name}}-{{u.gender}}-{{u.age}}</li>
</ul>
users:[
 		{name:'柳岩', gender:'女', age: 21},
       {name:'范冰冰', gender:'女', age: 24},
       {name:'刘亦菲', gender:'女', age: 18},
       {name:'古力娜扎', gender:'女', age: 25}
     ],
user:{name:'古力娜扎', gender:'女', age: 25}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值