gpt4 book ai didi

javascript - KnockoutJS - 将计算值添加到可观察数组

转载 作者:数据小太阳 更新时间:2023-10-29 04:54:26 26 4
gpt4 key购买 nike

我正在使用 KnockoutJS 将数据绑定(bind)到页面,ViewModel 由来自使用 mapping plugin 的 AJAX 调用的 JSON 响应填充。 ,像这样:

$(function () {
$.getJSON("@Url.Action("Get")",
function(allData) {
viewModel = ko.mapping.fromJS(allData);

viewModel.Brokers.Url = ko.computed(function()
{
return 'BASEURLHERE/' + this.BrokerNum();
});

ko.applyBindings(viewModel);
});
});

那里的中间部分不起作用(没有计算属性它也能正常工作)。 “经纪人”是一个可观察的数组,我想为数组中称为 URL 的每个元素添加一个计算值。我将该 Brokers 数组绑定(bind)到一个 foreach,并且我想将该 URL 用作 anchor 的 href 属性。有什么想法吗?

最佳答案

我一直在处理非常相似的问题,我发现您可以拦截 Broker 对象的创建并使用映射选项参数插入您自己的字段:

var data = { "Brokers":[{"BrokerNum": "2"},{"BrokerNum": "10"}] };

var mappingOptions = {
'Brokers': {
create: function(options) {
return (new (function() {
this.Url = ko.computed(function() {
return 'http://BASEURLHERE/' + this.BrokerNum();
}, this);

ko.mapping.fromJS(options.data, {}, this); // continue the std mapping
})());
}
}
};

viewModel = ko.mapping.fromJS(data, mappingOptions);

ko.applyBindings(viewModel);

这是一个演示这个的 fiddle :http://jsfiddle.net/pwiles/ZP2pg/

关于javascript - KnockoutJS - 将计算值添加到可观察数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com