我想将一个数组(或 observableArray)传递给一个复合对象,如下所示:
<add-training-modal id="modal" employees="[[data]]"></add-training-modal>
data
通过异步调用在关联的 viewModel 中检索:
self.data = ko.observableArray();
UserFactory.getUsers().then(arr => {
self.data(arr);
})
问题:[[data]]
在异步调用完成之前传递给组合。只要data
在复合材料中更新就可以了。然而,这种情况并非如此。
在复合视图模型中:
function model(context) {
//...
context.props.then(function (propertyMap) {
self.properties = propertyMap;
console.log(propertyMap.employees); // is empty []
setTimeout(function () {
console.log(propertyMap.employees); // is full [...]
}, 500);
});
}
model.prototype.attached = function(context) {
context.props.then(function (propertyMap) {
console.log(propertyMap.employees); // is empty []
});
};
我知道我可以从组合中检索数据。但这不是根本问题的答案。