我有一个计算属性,只有在存在属性匹配时才会使用。因此,我正在进行异步调用以便仅在需要时检索数据。但是,我尝试使异步调用返回计算属性的数据时遇到了问题。
以下是我的代码:
new Vue({
el: "#formCompleteContainer",
data: {
form: {},
components: []
},
computed: {
employeeList: function () {
var self = this;
if (_.some(this.components, function (component) {
return component.ComponentInfo.Type === 8
})) {
var employees = [];
$.ajax({
url: "/Form/GetAllUsers",
type: "GET"
}).done(function (results) {
employees = results;
});
return employees;
} else {
return [];
}
}
}
});
我知道这不起作用是因为在调用完成之前我就返回了。我看到过如何使用deferred
对象等,但似乎无法弄清如何在Vue
中实现。