Vue——响应式数据,v-on,v-bind,v-if,v-for(内含项目实战)

目录

响应式数据

ref

reactive

事件绑定指令 v-on

v-on 鼠标监听事件

 v-on 键盘监听事件

 v-on  简写形式

 属性动态化指令 v-bind

iuput标签动态属性绑定

img标签动态属性绑定

b标签动态属性绑定

 v-bind 简写形式

条件渲染指令 v-if

 遍历指令 v-for

遍历对象的值 

 遍历对象的值和索引

 遍历对象的值和键

 遍历对象的值,键和索引

 指令嵌套

 项目实战

文字按钮切换图片

v-on切换上一张

v-on切换下一张

v-bind绑定图片的路径

 数字按钮跳转图片

数字按钮

跳转函数设置

跳转函数绑定

完整代码


响应式数据

响应式数据是指数据在改变时能够自动更新,我们可以通过 ref, reactive 让数据变成响应式

ref

可以定义基本类型的响应式变量

let xxx=ref(初始值)

<div id="app">   
        <p>个人信息:</p>
        <p>性别:{
  
  { gender }}</p>
        <p>年龄:{
  
  { age }}</p>
        <button @click="genderChange">点击更改性别</button>
        <br>
        <button @click="ageChange">点击年龄加1</button>
    </div>
    <script type="module">
        // 导入响应数据类型 ref
        import {createApp,ref} from"./vue.esm-browser.js"
        createApp({
            setup(){
                
                let gender = "女";
                let age = ref(25);

                const genderChange=()=> {
                gender.value = "男";
                console.log("成功修改性别")
                
                }

                const ageChange=()=> {
                age.value += 1;
                 console.log("成功加1")
                }
                return{
                    gender,
                    age,
                    genderChange,
                    ageChange
                }


            }
        }).mount("#app");

    </script>

reactive

定义对象类型数据

<div id="app">   
        <p>个人信息:</p>
        <p>年龄:{
  
  { test_1.age }}</p>
        <p>性别:{
  
  { test.gender }}</p>
        <button @click="ageChange">点击年龄加1</button>
        <br>
        <button @click="genderChange">点击更改性别</button>
      
    </div>
    <script type="module">
        // 导入响应数据类型 reactive
        import {createApp,reactive} from"./vue.esm-browser.js"
        createApp({
            setup(){

                const test={
                    gender:"女"
                };

                const genderChange=()=> {
                test.gender = "男";
                console.log("成功修改性别")
                }

                const test_1=reactive({
                    age:18
                });

                const ageChange=()=> {
                test_1.age +=1;
                console.log("成功加1")

                }
                return{
                    test,
                    test_1,
                    genderChange,
                    ageChange
                }


            }
        }).mount("#app");

    </script>

事件绑定指令 v-on

用于监听DOM事件并触发对应的方法,和JS中的监听器一样,可以在HTML元素上添加事件监听器,当这个事件被触发时,会执行指定的方法。

格式:v-on  :  click(监听的事件如:键盘或鼠标事件)="test_2"(监听的节点)

v-on 鼠标监听事件

 v-on  :  click(鼠标事件)="test_2"(监听的节点)

    <div id="app">     

    <h2>{
  
  {test_1.name}}</h2>
    <button v-on:click="test_2">单击修改名字!</button>

    </div>
    <script type="module">



        import {createApp,ref,reactive} from"./vue.esm-browser.js"
        createApp({
            setup(){

初始值
                const test_1=reactive({
                    name:"木木",
                });

修改的值
            const test_2=()=>{
                test_1.name="花花"
                console.log("鼠标单击成功!");
            }

返回的值
            return{
                test_1,
                test_2,
            }

            }
        }).mount("#app");

    </script>

 单击按钮后

 v-on 键盘监听事件

v-on  :  keyup . v(监听键盘“  v ”)="test_2" (监听的节点)

            enter space tab 按键修饰符

            keyup是在用户松开按键时才触发

            keydown是在用户按下按键时立即触发

    <div id="app">     
    
    <h2>{
  
  {test_1.name}}</h2>
    <button v-on:keyup.v="test_2">按下键盘v即可修改名字!</button>

    </div>


    <script type="module">
        import {createApp,ref,reactive} from"./vue.esm-browser.js"
        createApp({
            setup(){
初始值            
            const test_1 = reactive({
                    name: "花花",
                });
修改值    
                const test_2 = () => {
                    test_1.name ="木木",
                   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值