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

如何在Alpine.js的@click事件中传入$total_posts_parent并赋值给total变量

解决PHP变量传入Alpine.js点击事件并赋值的问题

1. 修改HTML链接代码

更新@click事件,传入分类ID和$total_posts_parent两个参数:

<a class="parent post_no" 
   data-value="<?= $total_posts_parent ?>" 
   @click="filterPosts(<?= $category->term_id; ?>, <?= $total_posts_parent; ?>)">
    <?= esc_html($category->name); ?> (<?= $total_posts_parent ?>)
</a>

2. 调整Alpine.js组件逻辑

在组件中添加(或修改)filterPosts方法,接收传入的参数并赋值给total变量:

Alpine.data("filterPosts", (adminURL) => ({
    posts: "",
    limit: 6,
    category: 0,
    post_type_js: post_id,
    showDefault: true,
    showFiltered: false,
    offset: 0,
    total: 0,
    // 处理点击事件的方法
    filterPosts(categoryId, totalPosts) {
        this.category = categoryId;
        this.total = totalPosts; // 将PHP传入的值赋值给组件的total变量
        // 可在此添加加载文章等后续逻辑
    }
}))

补充说明

  • 若$total_posts_parent为字符串类型,需用单引号包裹参数,例如:'<?= $total_posts_parent; ?>'
  • 点击链接时,Alpine.js会调用组件内的filterPosts方法,自动将PHP变量的值传递并赋值给组件的total属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:24:57