【vue】一个小bug和key的引入

在这里插入图片描述
点击master Vue!删除后该list后输入框中的Jerry消失了
在这里插入图片描述
原因:vue当你更改元素时会在真实的dom中渲染并更新list。这两个goal是两个dom元素,触发点击事件后,vue并不会删除第一个dom元素,而是把第二个dom元素的动态内容({{ goal }} - {{ index }})复制到第一个dom元素中,input元素仍然是老元素。

  <body>
    <header>
      <h1>Vue Course Goals</h1>
    </header>
    <section id="user-goals">
      <h2>My course goals</h2>
      <input type="text" v-model="enteredGoalValue" />
      <button @click="addGoal">Add Goal</button>
      <p v-if="goals.length === 0">
        No goals have been added yet - please start adding some!
      </p>
      <ul v-else>
        <li
          v-for="(goal, index) in goals"
          @click="removeGoal(index)"
        >
          {{ goal }} - {{ index }}<input type="text" @click.stop />
        </li>
      </ul>
    </section>
  </body>
</html>
const app = Vue.createApp({
	data() {
		return {
			enteredGoalValue: '',
			goals: [],
		};
	},
	methods: {
		addGoal() {
			this.goals.push(this.enteredGoalValue);
		},
		removeGoal(idx) {
			this.goals.splice(idx, 1);
		},
	},
});

app.mount('#user-goals');

为此引入key属性,可以在所有带有v-for的html标签使用,就像是id,给每个<li>添加不同的key属性,用来告知vue区分不同的<li>,这样做可以保证input中的内容不会丢失。

<li
          v-for="(goal, index) in goals"
          :key="goal"
          @click="removeGoal(index)"
        >
        ```

相关推荐

  1. Vuekey作用原理

    2024-03-31 07:32:06       32 阅读
  2. vue key原理作用

    2024-03-31 07:32:06       5 阅读
  3. 创建链表时一个bug

    2024-03-31 07:32:06       36 阅读
  4. 解决vue点击按钮刷新页面一个bug

    2024-03-31 07:32:06       27 阅读
  5. react 列表渲染 key解析 vuekey解析底层逻辑

    2024-03-31 07:32:06       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-31 07:32:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-31 07:32:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-31 07:32:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-31 07:32:06       18 阅读

热门阅读

  1. Linux-ntp-ptp-gptp

    2024-03-31 07:32:06       13 阅读
  2. C++入门

    C++入门

    2024-03-31 07:32:06      12 阅读
  3. Go的数据结构与实现【HashMap】

    2024-03-31 07:32:06       20 阅读
  4. go mod命令介绍

    2024-03-31 07:32:06       16 阅读
  5. Let`s move - sui move开发实战-dao(6)反馈

    2024-03-31 07:32:06       19 阅读
  6. math模块篇(七)

    2024-03-31 07:32:06       17 阅读
  7. 代码随想录算法训练营第三十四天|leetcode62、63题

    2024-03-31 07:32:06       17 阅读
  8. 【LeetCode热题100】【链表】LRU缓存

    2024-03-31 07:32:06       20 阅读
  9. 解析GPU:探索图形处理单元的奇妙世界

    2024-03-31 07:32:06       17 阅读