Vue—v-for与v-model的使用

本文介绍了Vue.js中的v-for指令用于循环渲染数组和对象的方法,并演示了如何利用v-model实现表单数据与Vue实例之间的双向绑定。此外,还探讨了MVVM架构下的数据绑定机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.v-for结合实例使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <span>{{user.name}}{{user.age}}</span>
    <hr>
<!--    通过v-for遍历对象-->

<!--    <span v-for="u in user">-->
<!--        {{u}}//输出整个对象-->
<!--    </span>-->

<!--    <span v-for="(key,value,index) in user">-->
<!--        {{index}}:{{key}}:{{value}}-->
    <span v-for="(key,value) in user">
        {{value}}:{{key}}
    </span>
    <!--    通过v-for遍历数组
    :key="user.id"便于内部做重用和排序
    -->
    <hr>
<ul>
    <li v-for="a in list">{{a}}</li>
</ul>
    <hr>
    <ul>
        <li v-for="user,index in userlist" :key="user.id">
            {{index+1}}
            {{user.id}}
            {{user.name}}
            {{user.age}}
            {{user.aihao}}
        </li>
    </ul>
    <!--    通过v-for遍历数组中的对象-->
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app",
        data: {
            user:{name:"小文",age:22},
            list:["广东","四川","成都"],
            userlist:[
                {id:1,name:"wenxin1",age:"18",aihao:"编程1"},
                {id:2,name:"wenxin2",age:"18",aihao:"编程2"},
                {id:3,name:"wenxin3",age:"18",aihao:"编程3"},
                {id:4,name:"wenxin4",age:"18",aihao:"编程4"},
                ]
        },
        methods: {}
    })
</script>
</body>
</html>
</html>```
2.v-model:用来绑定标签元素的值与vue实例对象中data数据保持一致,从而**实现双向数据绑定(表单中的数据导致vue实例data数据变化,vue实例data数据变化导致表单数据变化)**

```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="app">
    <input type="text" v-model="message">
    <hr>
    <span>{{message}}</span>
    <hr>
    <input type="button" value="点我改变data中message的值" @click="change">

</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app",
        data: {
            message:""
        },
        methods: {
            change(){
                this.message="wenwenwen"
            }

        }
    })
</script>
</body>
</html>

3.MVVM架构 双向绑定机制
model: 数据,vue实例中绑定的数据
vm:ViewModel 监听器
view :页面,页面展示的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文文鑫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值