【问题标题】:Vue js get first value of data modelVue js 获取数据模型的第一个值
【发布时间】:2016-03-01 14:33:34
【问题描述】:

我想得到data.countrys模型的第一个返回值如下:

...el ...etc..

 data: {

    countrys: [
      {KE : 'KENYA'},
      {USA : 'USA'}

  ] ,


  },
... ready...etc..

如何在我的方法中获得值“KE”?下面是我的方法中使用的代码。

console.log(vm.$data.$children[0].countrys);

【问题讨论】:

  • (完全不相关,但“country”的复数形式是“countries”。)您将继续编写普通的 JS,进入countries 数组,然后获取密钥。这并不像应有的那么简单,例如,每个国家/地区都可以拥有 namecode 密钥,这将使其变得更加简单。

标签: javascript vue.js


【解决方案1】:

由于 'KE' 是一个键,您可以对 'countrys' 数组中的对象使用 Object.keys 函数:

Object.keys(vm.data.countrys[0])[0];

vm.data.countrys[0] 将返回 {KE : 'KENYA'} 对象,然后 Object.keys 将返回该对象的键数组。

【讨论】:

  • 这应该可以,但是我得到了Uncaught (in promise) TypeError: Cannot convert undefined or null to object
  • 只是检查 - 您传递给 Object.keys 的数据是否绝对不为空或未定义?
  • 上面的例子只是演示了一个国家的集合数据,但是真实的数据是通过模型上设置的资源ajax ans动态获取的,它实际上是一个vue对象模型数据
  • 如果您错过了问题的重要细节,您将很难提供帮助。您的数据来源
  • 您能否使用调试器确认 ajax 响应返回的数据具有您期望的 JSON 结构,并且数据已正确应用于模型?如果您仍需要故障排除帮助,请在您的问题中或通过 jsfiddle/plunker 发布更多代码。
【解决方案2】:

所以... data 是对象,countrys - 对象数组,那么结果是

var country = "KE";
data.countrys[0][country] 

【讨论】:

  • “KE”是动态数据,上面只是一个例子
  • @JimmyObonyoAbor 所以使用变量来存储你的密钥,我已经更新了答案
猜你喜欢
  • 2017-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多