javascript - 从 vue.js 中的 foreach 循环访问变量

标签 javascript foreach vue.js vuejs2 var

如何从 foreach 循环访问 this.variable?

我有这样的

<template><div><li>{{ names }}</li></div></template>
var initData = {
  names: '',
  }
}
export default {
  data: function () {
    return initData
  },
  props: ['nameData'],
  methods: {
    printNames: function () {
      let tempData = JSON.parse(JSON.stringify(this.nameData))
      tempData.biglist.forEach(function (nObj) {
        let cName = nObj.CeName
        console.log(cName) // gives long list of names
        this.names = cName
      })
    }
  },

所以我想要的是将名字列在我的列表中。谢谢大家:)

最佳答案

有两种方法可以在另一个函数范围内访问它(在本例中为 forEach() )。

您可以简单地创建一个引用您的范围的新变量,例如

printNames: function () {
  let scope = this
  let tempData = JSON.parse(JSON.stringify(this.nameData))
  tempData.biglist.forEach(function (nObj) {

    // I can access scope here

    let cName = nObj.CeName
    console.log(cName) // gives long list of names
    this.names = cName
  })
}

,您将可以访问 forEach 中的这个变量范围。

或者您可以使用箭头函数,它不会创建新的作用域。因此,this 与 forEach 外部相同。这是一个例子:

http://jsfiddle.net/2eAqE/1149/

关于javascript - 从 vue.js 中的 foreach 循环访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50023001/

相关文章:

javascript - Highcharts - 如何在 mouseOver 和 mouseOut 上显示/隐藏多个数据标签

PHP 通过 foreach 循环仅向 Mysql 插入 10 行

javascript - 防止 IOS 返回点击时的输入操作

javascript - Vue.js - 向存储中的对象添加或设置新数据

javascript - 将 UL 拆分为两列,但不要破坏嵌套的 UL

javascript - 是否可以在 OctoberCMS 的 If 语句中使用 URL 参数?

javascript - 验证 10 个字符,只能是数字,然后重定向到网址

php - 如何从使用 jquery 的 foreach 循环生成的表单中的输入字段中获取值

php - 需要使用 foreach 循环中的变量执行 SQL 查询

vue.js - VueJS 和动态标题