我正在尝试使用ajax调用提供的值将自定义挖空组件的参数绑定到viewmodel中。但是,似乎绑定发生在ajax调用完成之前。无论如何确保在绑定发生之前完成ajax调用?感谢。
自定义组件的视图是这样的
<section>
<mycustomcomponent params="item: item"> </mycustomcomponent>
</section>
以下是viewmodel的相关部分
define(function (require) {
var Item = require('models/item');
var item;
return {
activate: function () {
var ajaxCall = $.ajax({
method: 'get',
url: 'myapicall',
success: function (data) {
item = new Item(data);
}
});
return ajaxCall;
},
item: item,
};
});
答案 0 :(得分:0)
您可以尝试将组件包装在if
绑定中,以便在item
包含有效内容之前不会呈现该组件。
<section data-bind="if: item">
<mycustomcomponent params="item: item"> </mycustomcomponent>
</section>