我正在使用淘汰赛邮箱插件来遵循淘汰赛中的 pub sub 模式。我能够在组件之间接收和发送数据,但问题是我无法使用转换功能。
下面是代码和小提琴链接..有人可以告诉我我在这里做错了什么
<div id="container1">
First View Model:
<input type="text" data-bind="value: data1">
</div>
<br/>
<div id="container2">
Second View Model:
<span data-bind="text: data2"></span><br/>
<span data-bind="text: newData"></span>
</div>
这是我的模型
function Container1ViewModel()
{
var self = this;
self.data1 = ko.observable(false).publishOn("showDiv");
}
function Container2ViewModel() {
var self = this;
this.data2 = ko.observable().subscribeTo("showDiv", true,transform);
this.newData = ko.observable('45');
var transform = function(newValue) {
newData(newValue);
return 123;
};
}
var container1VM;
var container2VM;
container1VM = new Container1ViewModel();
ko.applyBindings(container1VM, document.getElementById("container1"));
container2VM = new Container2ViewModel();
ko.applyBindings(container2VM, document.getElementById("container2"));
这是小提琴链接小提琴
我在这里寻找的是使用转换函数通过订阅者可观察对象设置另一个可观察对象的值,以便我可以转换数据并分配它。
谢谢