首页 > 其他分享 >vue3 基础-列表渲染

vue3 基础-列表渲染

时间:2022-08-28 23:47:13浏览次数:48  
标签:const 渲染 -- app listArray 列表 数组 vue3

本篇讲列表渲染, 主要是对 v-on 指令配合 v-if 和一些数组相关的方法来体验 vue 的模板渲染方法.

数组元素的渲染

<!DOCTYPE html>
<html lang="en">
<head>
  <title>列表渲染</title>
  <script src="https://unpkg.com/vue@3"></script>
</head>
<body>
  <div id="root"></div>
  <script>
    const app = Vue.createApp({
      data () {
        return {
          listArray: ['hello', 'world', 'youge', 'cool']
        }
      },
      template: `
      <div 
		v-for="(item, index) in listArray" 
		:key="index
	  >
		{{item}}--{{index}}</div>
      `
    })
  const vm = app.mount('#root')
  </script>
</body>
</html>

主要还是对 v-on 的使用罢了.

hello--0
world--1
youge--2
cool--3

对象元素的渲染

<!DOCTYPE html>
<html lang="en">
<head>
  <title>列表对象渲染</title>
  <script src="https://unpkg.com/vue@3"></script>
</head>
<body>
  <div id="root"></div>
  <script>
    const app = Vue.createApp({
      data () {
        return {
          listObject: {
            firstName: 'you',
            lastName: 'ge',
            job: 'marketing'
          }
        }
      },
      template: `
      <div 
        v-for="(value, key, index) in listObject" 
        :key="index"
      >
        {{value}}--{{key}}--{{index}}
      </div>
      `
    })
  const vm = app.mount('#root')
  </script>
</body>
</html>
you--firstName--0
ge--lastName--1
marketing--job--2

结合数组 & 对象 方法来演示

就纯复习一下数组, 对象的一些增删改查的基本方法而已.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>综合案例</title>
  <script src="https://unpkg.com/vue@3"></script>
</head>
<body>
  <div id="root"></div>
  <script>
    const app = Vue.createApp({
      data () {
        return {
          listArray: ['hello', 'world', 'youge', 'cool'],
          listObject: {
            firstName: 'dell',
            lastName: 'lee',
            job: 'teacher'
          }
        }
      },
      methods: {
        addItemClick () {

          // 1. 数组变更函数: push, pop, shift, unshift, splice...
          
          // this.listArray.push('cj')
          // this.listArray.pop();
          // this.listArray.shift();
          // this.listArray.unshift('cj');
          // this.listArray.splice(1, 2);
          // this.listArray.sort();
          // this.listArray.reverse();

          // 2. 直接替换数组(函数式编程)
          // this.listArray = ['aa', 'bb', '中国'];
          // this.listArray = ['bye', 'world'].filter(item => item == 'bye');

          //3. 直接更新数组内容
          // this.listArray[1] = 'youge';

          // 对象: 新增
          this.listObject['age'] = 18;
          this.listObject.sex = 'male'
        }
      },
      template: `
      <div>
        <template
         v-for="(value, key, index) in listObject" 
            :key="index" 
          >
            <div v-if="key != 'lastName'">
            {{value}} -- {{key}}
          </div>
        </template>
        <div v-for="item in 5">{{item}}</div>
        <button @click="addItemClick">新增</button>
      </div>
    `
    })
  const vm = app.mount('#root')
  </script>
</body>
</html>

列表渲染这个在实际应用中应该是最高频的了, 尤其是对后端数据进行渲染就必然会用到这个 v-for 相关的啦.

标签:const,渲染,--,app,listArray,列表,数组,vue3
From: https://www.cnblogs.com/chenjieyouge/p/16634442.html

相关文章

  • vue3项目-小兔鲜儿笔记-03-首页模块02
    1.骨架效果目的:为了在加载过程中等待效果更好,封装骨架屏组件实现步骤:骨架屏组件需暴露的属性:高、宽、背景颜色,是否启用动画使用插件的方式进行全局注册<templa......
  • 6.10 列表元素的修改操作
     lst1=[10,20,30,40,10,60,70,80,90,100,1000]lst1[2]=2#修改其中一个元素print(lst1)lst1[3:6]=[1000,2000,3000.4000]#修改其中多......
  • Vue3.0 编译做了哪些优化
    a.生成BlocktreeVue.js2.x的数据更新并触发重新渲染的粒度是组件级的,单个组件内部需要遍历该组件的整个vnode树。在2.0里,渲染效率的快慢与组件大小成正相关:组......
  • vue3 基础-条件渲染 v-if 和 v-show
    本篇讲vue中对dom元素节点进行"显示和隐藏"的实现方式指令,即v-if和v-show.其实一句话就能说明白,v-if的底层是从dom树中增删节点;而v-show的底层是"di......
  • 6.7 列表的判断和遍历
    # for in# not in# in列表的判断in和notinlst=[10,56,98,100]print(10inlst)#10是在列表里吗print(10notinlst)#10不在列表里......
  • 6.9 列表元素的删除操作
      # remove() lst1=[10,20,30,40,10,60,70,80,90,100]lst1.remove(20)#移除对应元素lst1.remove(10)#移除对应元素,如有相同元素移除第一个print(lst1)lst......
  • Vue3+vite+js 配置别名@报错
    Vue3+vite+js配置别名@报错vue3项目中配置vite.config.js时使用path模块报错,一直警告找不大到path模块原因:path模块是node.js内置的功能,但是node.js本身并不支持ts解决......
  • 6.8 python基础列表元素的添加操作
     #append()list=[10,20,30,40,50,60,70,80]#列表后面添加元素,可以施单个元素或列表整体list.append(20)#后面添加单个元素print(list)list.append([30,90])#后面......
  • vue3项目-小兔鲜儿笔记-02-首页模块01
    1.less自动化导入安装一个vue-cli插件,自动导入less文件vueaddstyle-resources-loader2.头部分类导航组件渲染实现头部一级分类和二级分类的渲染基本步骤:定......
  • vue自定义实现虚拟化列表
     1使用<ViualList:size="40":remain="8":dataList="dataList"></ViualList>size:每个列表的高度Heightremain:当前屏幕展示数据个数dataList:当前数据2自定义......