gpt4 book ai didi

javascript - knockout 交叉 View 模型

转载 作者:行者123 更新时间:2023-12-03 11:33:24 33 4
gpt4 key购买 nike

var barcodeNum = ko.observable("");

VelocityMeetings.scan = function (params) {

var errorMessage = ko.observable("");

var viewModel = {
errorMessage: errorMessage,
scannumber: ko.observable(""),
errorVisible: ko.computed(function () {
return errorMessage().length != 0;
}),
scanBarcode: function () {
//Capture image with device and process into barcode
capturePhoto();

this.scannumber(barcodeNum());
//this.errorMessage(errMessage);
},
};


return viewModel;
};

我在 View 模型外部创建了barcodeNum 变量,以尝试将数据传递回scannumber 变量。如何访问 View 模型内部定义的变量?

目标是使用我拥有的 javascript Worker 来更新扫描编号,这将相应地更新我的应用程序,但我无法让它正常运行。

function receiveMessage(e) {
barcodeNum("Test function");
}

var DecodeWorker = new Worker("js/BarcodeScanner.js");
DecodeWorker.onmessage = receiveMessage;

目标是这样的

VelocityMeetings.scan.viewModel.scannumber(barcodeNum());

但这不能正常工作

最佳答案

当您发现自己正在使用必须相互通信的单独 View 模型时,请考虑使用 knockout-postbox 。如果需要,您可以进行单向或双向通信。就您而言,我认为单向沟通就足够了。

var barcodeNum = ko.observable('').publishOn('barcodeNum');

var viewModel = {
scannumber: ko.observable().subscribeTo('barcodeNum'),
// ...
};

关于javascript - knockout 交叉 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26642565/

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