首页 > Web开发 > 详细

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

时间:2020-05-14 19:48:42      阅读:52      评论:0      收藏:0      [点我收藏+]

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>

 

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

原文:https://www.cnblogs.com/Answer1215/p/12890640.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!