springboot和vue:九、v-for中的key+vue组件化开发

v-for中的key

目的

现在想要实现这样的一种效果,页面上存在初始姓名表单,同时存在输入框,输入姓名后点击添加按钮可以将新输入的姓名加入显示的姓名表单中。

代码





    
    
    Document
    



    
  • 姓名:{{user.name}}

测试

初始页面:
springboot和vue:九、v-for中的key+vue组件化开发_第1张图片

输入shanshan
springboot和vue:九、v-for中的key+vue组件化开发_第2张图片

点击添加后
springboot和vue:九、v-for中的key+vue组件化开发_第3张图片

存在问题

看似实现了我们想要的功能,但是实际上该页面存在bug。譬如我们现在刷新页面并勾选zhangsan。同时输入shanshan。
springboot和vue:九、v-for中的key+vue组件化开发_第4张图片
点击添加后,可以看到shanshan成为了被勾选的标签,zhangsan不再被勾选。
springboot和vue:九、v-for中的key+vue组件化开发_第5张图片
这是因为我们没有给li标签添加上唯一的标记,而vue又倾向于重用标签,所以vue分不清楚哪些标签的状态进行了改变。

修改代码

只需要在li标签那加上唯一的key标签即可,一般值都是1数据库中我们主动维护的能确保唯一的id。

  • 姓名:{{user.name}}
  • 测试:
    springboot和vue:九、v-for中的key+vue组件化开发_第6张图片
    springboot和vue:九、v-for中的key+vue组件化开发_第7张图片

    发现测试成功。

    组件化开发

    vue-cli脚手架的安装

    npm install -g @vue/cli
    按上下键切换选项,按空格切换是否选中的状态,按回车表示继续到下一页选项。

    eslint是很严格的语法规范,初学者不必选择,选最后一项即可。
    springboot和vue:九、v-for中的key+vue组件化开发_第8张图片

    将Linter选中状态切换成不选中。然后回车。
    springboot和vue:九、v-for中的key+vue组件化开发_第9张图片

    表示依赖你选择放到哪里,是否是package.json
    springboot和vue:九、v-for中的key+vue组件化开发_第10张图片

    选择vue3
    springboot和vue:九、v-for中的key+vue组件化开发_第11张图片

    询问你是否想把刚才的选项存为快照,以便后续使用。这里我们选择否
    springboot和vue:九、v-for中的key+vue组件化开发_第12张图片

    询问使用Yarn还是NPM,我们使用NPM管理。
    springboot和vue:九、v-for中的key+vue组件化开发_第13张图片
    即安装完成。

    npm create 项目名创建项目

    譬如这里,我们新建一个文件夹,用来存前端代码。然后在vscode中打开该文件夹,再在vscode的控制台中输入:

    npm create hello
    

    即可创建一个名为hello的工程,结构如下:
    springboot和vue:九、v-for中的key+vue组件化开发_第14张图片

    组件

    • Vue 中规定组件的后缀名是 .vue
    • 每个 .vue 组件都由 3 部分构成,分别是
      1. template,组件的模板,可以包含HTML标签及其他的组件
      2. script,组件的 JavaScript 代码
      3. style,组件的样式

    组件的使用

    一个组件如果想要使用,需要在App.vue的script标签下进行导入和注册。具体页面上使不使用,要看App.vue的template里面有没有用到。
    springboot和vue:九、v-for中的key+vue组件化开发_第15张图片

    你可能感兴趣的:(vue.js,javascript,前端,vue)