在javascript显示模块模式中计算的淘汰设置
knockout setting computed within javascript revealing module pattern
我正在使用带有揭示模块模式的敲除。我想通过引用传递一个可观察的值,并使其值基于计算值。这个问题是它没有通过引用传递到模式中。。。它似乎被价值所传递。
listPersonClientSelect是observable(),我想将其传递到一个js函数中,并在listPersonClientSelect上建立一个计算结果(你可以在下面的代码中看到,我将observable作为参数传递到init中,我想根据select2Data()中的变化将这个observable值设置为计算值
init函数是用以下…调用的。。。。那么最终的结果是什么
self.assigneePersonSetupKO.listPersonClientSetup确实显示了计算的结果,但我真正想要的是self.assign()来显示的变化(计算的值)
是否可以通过引用将self.assignees传递到js中
self.assigneePersonSetupKO = new PersonSetupKO();
self.assigneePersonSetupKO.init(self.assignees);
var PersonSetupKO = function () {
"use strict";
//var self = this;
var select2Data = ko.observable(''),
initialOptions = [],
initialSelectedOptions = [],
listPersonClientSelect = ko.observable(),
init = function (listPersonClientSelect) {
this.initialOptions = $.map(listPersonClientSelect(), function (item) {
return { DisplayName: item.DisplayName(), Gen: item.Id() }
});
this.initialSelectedOptions = $.map(listPersonClientSelect(), function (item) {
return item.Gen();
});
this.select2Data($.map(listPersonClientSelect(), function (item) {
return { text: item.DisplayName(), id: item.Id() };
}));
this.listPersonClientSelect = ko.computed(function () {
var results = $.map(select2Data(), function (item) {
return {
DisplayName: ko.observable(item.text),
Id: ko.observable(item.id)
}
});
return results;
});
};
return {
init: init,
select2Data: select2Data,
initialOptions: initialOptions,
initialSelectedOptions: initialSelectedOptions,
listPersonClientSelect: listPersonClientSelect
};
};
可观测值总是通过引用传递的。因此init
确实接收到对原始可观测到的参考。你只需要写信给它:
this.updateListPersonClientSelect = ko.computed(function () {
var results = $.map(select2Data(), function (item) {
return {
DisplayName: ko.observable(item.text),
Id: ko.observable(item.id)
}
});
listPersonClientSelect(results);
});
相关文章:
- 根据元素和容器大小计算边距
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 使用D3.js计算带有字母间距的文本长度
- 淘汰搜索/筛选
- 使用CSS或JavaScript计算分页符的数量
- 消息显示之外的淘汰验证
- 可以't计算自定义谷歌地图的js
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- 使用淘汰缓存计算值
- 淘汰计算与订阅、时间问题
- 计算字段淘汰相同的值
- 如何在淘汰.js中实现可计算的可观察量
- 淘汰计算和输入验证
- 在javascript显示模块模式中计算的淘汰设置
- 二选择计算淘汰
- 淘汰:自定义绑定更新不触发计算字段
- 计算淘汰赛中某些输入的和
- Ko.computed()不计算顶级对象(淘汰映射)
- 淘汰排序与计算观察不工作
- 淘汰-计算的可观察输入没有被更新