明天小编和大家一起在Vue的路上摸索,要实现的性能是这样的。现将默认 数组内的渲染到页面上,而后点击按钮之后,将文本框内的数据增加到列表上,成果如下。

源码是这样的,上面我就联合代码中的正文来阐明一下外围的代码

Vue.createApp({    data(){        return {            list:['item1','item2','item3','item4'], // 绑定v-for循环的列表            inputVal:""  // 绑定文本框的内容        }    },    methods:{        handleAddItem(){ // 绑定按钮的点击事件            this.list.push(this.inputVal) // 批改绑定的数据,在数组中减少数据            this.inputVal = '' // 对绑定的值从新赋值,清空文本框内的值        }    },    template:`        <div>            // 通过v-model绑定表单元素的值,也就是常说的数据双向绑定            <input v-model="inputVal" />            // v-on:click是绑定按钮的点击事件,能够通过@click语法糖来代替            <button v-on:click="handleAddItem">减少</button>            <ul>                // v-for和上一篇文章的v-if相似,都叫做指令                // v-for用作数据的循环                // v-for能够承受两个参数,第一个是数组中元素,第二个元素是下标                // 能够通过in和of两个关键字链接绑定的变量                // 不倡议将v-if和v-for用在同一个元素上。非要用能够在里面嵌套div或者其余元素                // 依据官网文档,同时应用的时候,v-for的优先级会高于v-if                <li v-for="(item,index) of list">{{item}}</li>             </ul>        </div>        `}).mount('#root')

之前有过根底或者仔细的小伙伴会发现,小编在应用v-for的时候,前面用的是of关键字,那对于v-for来说,尽管官网文档给的是in,那么of和in有什么不一样呢?
在原生js中,对于循环来说,能够应用关键字in和for来循环,失去的后果是不一样的,就像这样

let arr = [  {name:'lilei',age:12},  {name:'hanmeimei',age:20}]for(let item of arr){  console.log(item)  // {{name:'lilei',age:12}  {name:'hanmeimei',age:20}}for(let key in arr){  console.log(item) // 0  1}

小编在查问了一些材料后,失去这样的论断,遍历数组的时候,举荐应用of,语法为(item,index)。在遍历对象的时候,举荐应用in,语法为(item,name,index)上面是实例

DATA:    list:[        {name:'1'},        {name:'2'},        {name:'3'},    ]html:<div class="items" v-for='(item,name,index) of list'>{{item}}->{{name}}->{{index}}</div><div class="items" v-for='(item,name,index) in list'>{{item}}->{{name}}->{{index}}</div>// 输入后果如下{ "name": "1" }->0->{ "name": "2" }->1->{ "name": "3" }->2->{ "name": "1" }->0->{ "name": "2" }->1->{ "name": "3" }->2->
DATA:    listObject:{        name:'soho',        age:25,        class:1909,        grade:3    } html:<div class="items" v-for='(item,name,index) of listObject'>{{item}}->{{name}}->{{index}}</div><div class="items" v-for='(item,name,index) in listObject'>{{item}}->{{name}}->{{index}}</div>// 输入后果为soho->name->025->age->11909->class->23->grade->3soho->name->025->age->11909->class->23->grade->3

参考文章:

https://vue3js.cn/

https://www.cnblogs.com/Scoob...
大家还能够扫描二维码,关注我的微信公众号,蜗牛全栈