javascript - VueJS 中的计算属性

标签 javascript vue.js

我有一个对象数组:

[
  {
    "value": 4,
    "text": "All Belgium Kendo Federation"
  },
  {
    "value": 33,
    "text": "All United States Kendo Federation"
  },
  // more objects of similar key/value
]

我想创建一个以 id 作为参数的计算属性,这样我就可以获得带有值的文本。

所以,我尝试:

computed: {
        federationSelectedText: function () {

            this.federations.find(function (elt) {
                return elt.value == this.federationSelected;
            });
        }
    },

其中 this.federationSelect 是值。

在 HTML 中 {{ federationSelectedText }}

我调试了变量,this.federationsthis.federationSelected 都有正确的值

它不显示任何内容,我做错了什么?

最佳答案

您需要返回value并绑定(bind)this以进行find

computed: {
        federationSelectedText: function () {

            return this.federations.find(function (elt) {
                return elt.value == this.federationSelected;
            }.bind(this));
        }
    }

获取一个变量:

computed: {
            federationSelectedText: function () {

                var value = this.federations.find(function (elt) {
                    return elt.value == this.federationSelected;
                }.bind(this));

                return value ? value.text : '';
            }
        }

关于javascript - VueJS 中的计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43099686/

相关文章:

javascript - react 路由不加载页面

javascript - 我们可以让一个元素(div)对鼠标事件透明吗?

javascript - 按类查找 Angular 元素的最佳方法是什么?

javascript - RxJS 等待上一次执行完成

javascript - 使用 v-bind 将数据放入属性 href 中的标签 a (VUE.JS 2 + Laravel 5.3)

javascript - HTML 复选框的文本

javascript - 如何在 v-for (vue.js) 中访问 <slot> 中的项目

javascript - Vue.js 当你将 getter 存储在变量中时会发生奇怪的事情

javascript - 如何在VUE中正确使用父组件中的子组件方法?

javascript - 如何在 Vue CLI 3.04 上使用 sass-resource-loader 为所有 Vue 组件加载 _variables.scss 文件?