[Mise] Iterate through data with the `x-for` attribute in Alpine JS

In this lesson, we move the component definition to a function, defined in a script tag in the HTML document.

We then iterate through an Array of Objects with the x-for directive in Alpine JS. We use a <template> tag to wrap the HTML element we want to repeat for each item, and put the x-for directive on that template tag.

We also define a "computed" property by adding a method on our function, which checks if a given ID matched the currently active tab id. This computed property allows us to determine wether or not to apply the "active" classname to our tab buttons.

 

复制代码
<div x-data="tabs()">
  <div>

    <template x-for="tab in tabs" :key="tab.id">
      <button @click="activeTab = tab.id" x-text="tab.title" :class="{'active': getActiveStatus(tab.id)}"></button>
    </template>
  </div>
  <div>
    <template x-for="tab in tabs" :key="tab.id">
      <div x-show="getActiveStatus(tab.id)">
        <p x-text="tab.text"></p>
      </div>
    </template>
  </div>
</div>

<script>
  function tabs() {
    return {
      activeTab: 0,
      tabs: [
        {id: 0, title: "Tab 1", text: "I am the content of tab number one, and I think I just won! 🏆"},
        {id: 1, title: "Tab 2", text: "Heya! I root for number two, and so should you! ❤️"},
        {id: 2, title: "Tab 3", text: "Haha nice one, but I am number three, and now it's all about me! 😎"},
      ],
      getActiveStatus(id) { return this.activeTab === id }
    }
  }
</script>
复制代码

 

posted @   Zhentiw  阅读(304)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2019-05-14 [Algorithm] Finding all factors of a number
2019-05-14 [Spring Boot] Aspect Intro
2019-05-14 [Spring boot] CommandLineRunner and Autowired
2019-05-14 [Algorithm] Finding Prime numbers - Sieve of Eratosthenes
2018-05-14 [Javascript Crocks] Apply a function in a Maybe context to Maybe inputs (curry & ap & liftA2)
2018-05-14 [Javascript Crocks] Recover from a Nothing with the `coalesce` Method
2018-05-14 [Javascript Crocks] Recover from a Nothing with the `alt` method
点击右上角即可分享
微信分享提示