You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue将输入的firstName绑定到每个li项alt属性失败如何解决

问题排查

你代码里一共存在2处问题:

  • Vue实例语法存在闭合错误,foods数组缺少右方括号],整个data对象缺少右花括号},会直接导致Vue实例初始化失败
  • <li>属于普通列表元素,本身没有原生alt属性,alt属性仅适用于图片、热点区域等资源类元素,如果要存储自定义文本,建议使用标准自定义属性data-*格式,当然如果确实要绑定非标准alt属性Vue也支持,但不符合HTML语义规范

修正后代码

HTML部分

<div id="name">
  <label for="firstName">First Name:</label>
  <input type="text" id="firstName" v-model="firstName">
  <br>
  <ol>
    <!-- 符合语义的自定义属性写法,后续可以通过DOM元素的dataset.alt取值 -->
    <li v-for="food in foods" :key="food.id" :data-alt="firstName">
      {{food.text}}
    </li>
    <!-- 确实需要alt属性的话可以用下方写法,绑定逻辑同样生效 -->
    <!-- <li v-for="food in foods" :key="food.id" :alt="firstName">{{food.text}}</li> -->
  </ol>
</div>

Vue部分

var name = new Vue({
  el: "#name",
  data: {
    firstName: "lee",
    foods: [
      {id:0, text:"pizza"},
      {id:1, text:"ice cream"},
      {id:2, text:"sushi"}
    ]
  }
})

修正后输入框内的firstName值变化时,所有列表项绑定的属性值会同步更新,完全符合需求。

内容的提问来源于stack exchange,提问作者lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:57:04