Vue 方法混合
Vue methods mixins
我的 mixins 文件中有方法 getNames,returns 名称。
import { default as config } from '../config';
var methods = {
methods: {
getNames() {
return axios.get(API + API.NAMES)
.then( (response) => {
if( response.status == 200 && typeof(response.data) == 'object' ) {
return response.data;
}
});
}
}
};
export default methods;
我从我的单个模板文件中导入了 mixins/methods 文件。现在我的问题是如何从 getNames 方法中获取 return 对象数据。因为当我试图
mixins: [
filters,
methods
],
mounted: function() {
var a = this.getNames();
console.log(a);
}
getNames 方法只是 return 一个 Promise
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
__proto__
:
Promise
[[PromiseStatus]]
:
"resolved"
[[PromiseValue]]
:
Object
axios.get()
调用是异步的,它 return 是 Promise
。它不会 return 来自传递给链式 then
方法的匿名函数的值。
为了访问该值,您可以将 then
方法链接到 returned Promise
,如下所示:
mounted: function() {
this.getNames().then(a => { console.log(a) });
}
我的 mixins 文件中有方法 getNames,returns 名称。
import { default as config } from '../config';
var methods = {
methods: {
getNames() {
return axios.get(API + API.NAMES)
.then( (response) => {
if( response.status == 200 && typeof(response.data) == 'object' ) {
return response.data;
}
});
}
}
};
export default methods;
我从我的单个模板文件中导入了 mixins/methods 文件。现在我的问题是如何从 getNames 方法中获取 return 对象数据。因为当我试图
mixins: [
filters,
methods
],
mounted: function() {
var a = this.getNames();
console.log(a);
}
getNames 方法只是 return 一个 Promise
Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}
__proto__
:
Promise
[[PromiseStatus]]
:
"resolved"
[[PromiseValue]]
:
Object
axios.get()
调用是异步的,它 return 是 Promise
。它不会 return 来自传递给链式 then
方法的匿名函数的值。
为了访问该值,您可以将 then
方法链接到 returned Promise
,如下所示:
mounted: function() {
this.getNames().then(a => { console.log(a) });
}