繁体   English   中英

从 vue.js 中渲染列表中的数组访问数据

[英]Accessing data from array in rendered list in vue.js

我正在尝试使用渲染列表中的属性,该属性可能会根据复选框是否被填充而改变。 但是,mathSkill 和 scienceSkill 始终显示 0。我觉得我在尝试访问 booleanValue 时做错了一些事情,但我不确定我还能在 if 语句中放入什么以允许它更新值。 如果您有任何见解,请提前致谢!

const app = new Vue({
  el: '#app',
  data: {
    abilities: [
      { value: 'math', id: 'math', booleanValue:'no' },
      { value: 'science', id: 'science', booleanValue:'no'},
      { value: 'english', id: 'english', booleanValue:'no'},
     ],
    // VARIABLES
    mathSkill: 0,
    scienceSkill: 0,
  },
  computed: {
    addToMath: function() {
      if (this.abilities[0] === 'yes' )
        mathSkill = mathSkill +1,
        scienceSkill = scienceSkill + 1; 
    }
}

我不知道你到底想完成什么。

如果要计算变量,请不要定义它们。

使用.filter根据某些条件创建一个新数组,并使用.length获取该数组中的对象数量

computed: {
    matchSkill() { return this.abilities.filter(ability => ability.booleanValue === "yes").length},
}

示例代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM