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

AlpineJS能否绑定数组对象至x-model?动态绑定方法问询

问题描述

用户尝试在AlpineJS的x-for循环中,通过x-bind:x-model动态绑定数组内对象的name属性,但仅显示空文本框,绑定未生效,代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>
    <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
</head>
<body>
    <div x-data="alpineObject()">
        <template x-for="(item, index) in data">
            <div>
                <input type="text" x-bind:id="`name_${index}`" x-bind:name="`name_${index}`" x-bind:x-model="`data[${index}].name`">
            </div>
        </template>
    </div>
    <script>
        function alpineObject() {
            return {
                data: [
                    {
                        name: 'first'
                    },
                    {
                        name: 'second'
                    },
                    {
                        name: 'third'
                    }
                ],
            }
        }
    </script>
</body>
</html>
解决方法

问题核心是错误使用x-bind:x-model:x-model本身就是AlpineJS的双向绑定指令,不需要用x-bind包裹;同时模板字符串拼接绑定路径的写法不符合AlpineJS语法规则。

以下是两种有效实现方式:

方式1:直接用循环变量item访问属性

x-for循环中的item就是当前遍历到的数组元素,直接通过x-model="item.name"完成绑定:

<div x-data="alpineObject()">
    <template x-for="(item, index) in data" :key="index">
        <div>
            <input type="text" :id="`name_${index}`" :name="`name_${index}`" x-model="item.name">
        </div>
    </template>
</div>

方式2:通过数组索引访问元素属性

如果需要依赖索引值,直接在x-model中使用data[index].name即可,无需模板字符串拼接:

<div x-data="alpineObject()">
    <template x-for="(item, index) in data" :key="index">
        <div>
            <input type="text" :id="`name_${index}`" :name="`name_${index}`" x-model="data[index].name">
        </div>
    </template>
</div>

提示:给x-for的<template>加上:key="index",可以提升渲染性能,避免数组变化时出现渲染异常。

两种写法都能实现双向绑定:文本框会正确显示数组中对象的name属性值,修改输入框内容也会同步更新数组内的对应属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 10:35:13