java接口延迟绑定_如何延迟绑定KnockoutJS可观察量

我有一个带有一些observable的ViewModel和一个仅在应用绑定后才知道的属性 .

例如,我的UI包含一个搜索框,显示下面的匹配项 . 最初,视图模型内匹配的属性为null,因为没有要附加的数据 . 但是,一旦搜索框至少有3个字符,它将进行AJAX调用并获取数据 .

当我调用映射插件时,要将数据从调用映射到KO,就好像KO不能后期绑定可观察数组 . 问题是我没有任何东西可以让它映射到首先设置绑定 .

我的代码:

var vm = new function () {

var self = this;

self.customers = null;

self.searchText = ko.observable("");

self.searchText.subscribe(function (data) {

if (data.length > 2) {

// do search

$.get("/customers/getall", { searchTerms: self.searchText }, function (resp) {

if (!self.customers) {

// first mapping

self.customers= ko.mapping.fromJS(resp.customers);

} else {

ko.mapping.fromJS(self.customers, resp.customers);

}

});

}

});

}

ko.applyBindings(vm, $("#searchCustomersScope")[0]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值