这个取值是什么问题啊


为什么这个rows1和namelist1都有值,
rows2和nameList2都是空的

這樣怎麼會有人知道你的query ,rows是啥…

在data() 里面有rows和query

query的值是什麼?怎麼產生的呢?還有那 GetAll() 的方法是做什麼的?

GetAll() 获取列表数据,里面的rows1和nameList1都是有值的

getDict()方法里的this.rows是空的

雖然你不能解釋,但GetAll()應該不是JavaScript的原生方法。
簡單猜測就是,需要使用GetAll()方法才能取得rowsnameList的值,所以是那些值是非同步的。

那这个要怎么解决啊 大佬

import axios from ‘axios’;

let base = ‘/api/newsclass’

export const GetAll = params => {
return axios.post(base + ‘/findNewsClass’, params);
}

方法是引入这个JS文件的

我大概猜到你要做什麼了,你必須先等getRows()執行完。

async mounted(){
  await this.getRows();
  this.getDict()
}

vue+element

< template slot-scope=“scope”>
{{translate(scope.row.pid,this.nameList)}}
< /template>

我是页面需要这个值,但是报错,说是空值

因為你要從API拿完資料,才會有值。
你可以提前到created()的生命週期取得資料。

QQ%E6%88%AA%E5%9B%BE20200326113814
页面还是报错
vue.runtime.esm.js?a427:619 [Vue warn]: Error in render: “TypeError: Cannot read property ‘nameList’ of null”

應該是這樣子才對吧

async created(){
 await this.getRows();
  this.getDIct();
}

都不行,页面数据是空的

在getRows里面拿到this.rows之后,写一个nextTick,在nextTick里面触发this.getDIct()可以吗?