Vue JS-有条件地在一个组件中显示信息

Thelandog

我有一个组件,可以以反应方式显示对象数组中包含的数据。目前,该组件同时显示两个对象,但我希望它根据条件显示一个对象。如何基于名为premiumActivated的属性的状态显示一个或另一个对象?

<template>
  <div>
    <div class="background-div">
      <div class="page-info-inner">
          <PremiumContent v-for="item in premiumContent"
                          :key="item.infoText" 
                          :info-text="item.infoText" 
                          :button-text="item.buttonText"
                          :button-callback="null"
                          :subscription-text="item.subscriptionText" />
      </div>
    </div>
  </div>
</template>

<script>
  import PremiumContent from '../../../components/partials/settings/Premium';
  
  export default {
    name: 'MyComponent',
    components: {PremiumContent},
    data: () => ({
      premiumActivated: false,
      premiumContent: [
        { 
          infoText: "this is the content that should appear if premiumActivated is false",
          buttonText: "button text",
        },
        { 
          infoText: "this is the content that should appear if premiumActivated is true",
          buttonText: "button text",
          subscriptionText: 'extra text',
        },
      ]
    }),
亚什(Yash maheshwari)

您可以在Vue中利用计算属性来确定需要显示数组中的哪个对象。

computed: {
    displayContent () {
        return this.premiumActivated ? premiumContent[1] : premiumContent[0]
    }
}

您的PremiumContent将如下所示:

<PremiumContent
                          :key="displayContent.infoText" 
                          :info-text="displayContent.infoText" 
                          :button-text="displayContemt.buttonText"
                          :button-callback="null"
                          :subscription-text="displayContent.subscriptionText" />

编辑:另一个解决方案可以是使用computedmounted挂钩。

computed () {
    this.item = this.premiumActivated ? premiumContent[1] : premiumContent[0]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Vue.js 中,如果满足条件,则有条件地显示标签而不重复代码

来自分类Dev

当使用vue.js更改另一个表单字段时,如何有条件地重置表单字段

来自分类Dev

有条件地将类应用于列表Vue.js 3.0中的特定项目

来自分类Dev

Vue.js:有条件地在@click上调用函数

来自分类Dev

有条件地将道具发送给子元素Vue js

来自分类Dev

阻止用户在Vue Js中有条件地更改复选框值?

来自分类Dev

如何在 Vue.js 中有条件地渲染元素?

来自分类Dev

如何使用 vue.js 有条件地触发模态

来自分类Dev

Vue.js - 如何有条件地正确设置点击处理程序代码

来自分类Dev

有条件地将组件导入Vue Router

来自分类Dev

注册一个 Vue JS 组件

来自分类Dev

Angular.js如何根据另一个列表中是否存在重复元素来有条件地检查复选框

来自分类Dev

从vue.js中的另一个组件调用一个组件

来自分类Dev

在 React.js 的内容显示组件中的渲染内有条件

来自分类Dev

将Vue.js组件嵌入另一个组件时不显示

来自分类Dev

在 Vue Router 上有条件地映射路由组件

来自分类Dev

在vue.js中使用有条件的filter()内部?

来自分类Dev

带有条件的Vue.js禁用按钮不起作用

来自分类Dev

Vue.js导入另一个组件中的组件

来自分类Dev

从 Laravel Blade 文件导入一个 Vue js 组件

来自分类Dev

如何将所有 Vue.js 路由、模板和组件合并到一个文件中?

来自分类Dev

vue js的组件继承

来自分类Dev

Vue.js没有在组件中显示图标

来自分类Dev

在另一个 vue 组件中使用 Vue JS 组件方法

来自分类Dev

React JS在上传时有条件地渲染动画乐透组件

来自分类Dev

在 vue.js 中的另一个组件中过滤

来自分类Dev

卡显示Vue JS

来自分类Dev

Vue js 中的递归组件

来自分类Dev

另一个组件Vue.js中的调用状态

Related 相关文章

  1. 1

    在 Vue.js 中,如果满足条件,则有条件地显示标签而不重复代码

  2. 2

    当使用vue.js更改另一个表单字段时,如何有条件地重置表单字段

  3. 3

    有条件地将类应用于列表Vue.js 3.0中的特定项目

  4. 4

    Vue.js:有条件地在@click上调用函数

  5. 5

    有条件地将道具发送给子元素Vue js

  6. 6

    阻止用户在Vue Js中有条件地更改复选框值?

  7. 7

    如何在 Vue.js 中有条件地渲染元素?

  8. 8

    如何使用 vue.js 有条件地触发模态

  9. 9

    Vue.js - 如何有条件地正确设置点击处理程序代码

  10. 10

    有条件地将组件导入Vue Router

  11. 11

    注册一个 Vue JS 组件

  12. 12

    Angular.js如何根据另一个列表中是否存在重复元素来有条件地检查复选框

  13. 13

    从vue.js中的另一个组件调用一个组件

  14. 14

    在 React.js 的内容显示组件中的渲染内有条件

  15. 15

    将Vue.js组件嵌入另一个组件时不显示

  16. 16

    在 Vue Router 上有条件地映射路由组件

  17. 17

    在vue.js中使用有条件的filter()内部?

  18. 18

    带有条件的Vue.js禁用按钮不起作用

  19. 19

    Vue.js导入另一个组件中的组件

  20. 20

    从 Laravel Blade 文件导入一个 Vue js 组件

  21. 21

    如何将所有 Vue.js 路由、模板和组件合并到一个文件中?

  22. 22

    vue js的组件继承

  23. 23

    Vue.js没有在组件中显示图标

  24. 24

    在另一个 vue 组件中使用 Vue JS 组件方法

  25. 25

    React JS在上传时有条件地渲染动画乐透组件

  26. 26

    在 vue.js 中的另一个组件中过滤

  27. 27

    卡显示Vue JS

  28. 28

    Vue js 中的递归组件

  29. 29

    另一个组件Vue.js中的调用状态

热门标签

归档