Asynchronous Knockout asyncCommand-从方法命中
我想改变asyncCommand被点击的方式(当前是通过按钮),因此我需要从代码中访问asyncCommand。我不想改变asyncCommand的功能,它处理的是付款细节 我尝试过谷歌搜索,但我什么也找不到,我对KO也是新手 这就是我想要实现的目标:Asynchronous Knockout asyncCommand-从方法命中,asynchronous,knockout.js,Asynchronous,Knockout.js,我想改变asyncCommand被点击的方式(当前是通过按钮),因此我需要从代码中访问asyncCommand。我不想改变asyncCommand的功能,它处理的是付款细节 我尝试过谷歌搜索,但我什么也找不到,我对KO也是新手 这就是我想要实现的目标: 单击按钮(一个单独的按钮,具有自己的asyncCommand方法 “执行”将执行以下操作: 如果(标志)-显示模式 modal有两个选项-继续/取消 如果继续-点击原始按钮的asyncCommand(卡付款一) 如果取消-返回表单 如果(
- 单击按钮(一个单独的按钮,具有自己的asyncCommand方法 “执行”将执行以下操作:
- modal有两个选项-继续/取消
- 如果继续-点击原始按钮的asyncCommand(卡付款一)
- 如果取消-返回表单
- 点击原始按钮的asyncCommand(卡付款一)
model.checkAddress = ko.asyncCommand({
execute: function (complete)
{
makePayment.execute();
if (data.shippingOutOfArea === true || (data.shippingOutOfArea === null && data.billingOutOfArea === true)) {
model.OutOfArea.show(true);
}
complete();
},
canExecute: function (isExecuting) {
return !isExecuting;
}
});
原始按钮
model.makePayment = ko.asyncCommand({
execute: function (complete) {
}})
模态
在这个场景中,实际上有两个异步命令。一个打开模态,另一个打开模态 例如:
showPaymentPromptCmd=ko.asyncCommand({
执行:功能(完成){
如果需要(modalRequired){
showModal();
}否则{
支付();
}
完全();
},
canExecute:函数(isExecuting){
返回!我正在执行;
}
});
//通过模式面板上的“继续”按钮调用。
makePaymentCmd=ko.asyncCommand({
执行:功能(完成){
支付();
完全();
},
canExecute:函数(isExecuting){
返回!我正在执行;
}
});
变量
函数makepayment(){
//一些逻辑
}
model.OutOfArea = {
header: ko.observable("Out of area"),
template: "modalOutOfArea",
closeLabel: "Close",
primaryLabel: "Continue",
cancelLabel: "Change Address",
show: ko.observable(false), /* Set to true to show initially */
sending: ko.observable(false),
onClose: function ()
{
model.EditEmailModel.show(false);
},
onAction: function () {
makePayment.execute();
},
onCancel: function ()
{
model.EditEmailModel.show(false);
}
};