Knockout.js 敲除JS-不是函数错误
我的HTML如下所示:Knockout.js 敲除JS-不是函数错误,knockout.js,Knockout.js,我的HTML如下所示: <td>Total Amount to be Paid: </td> <td data-bind="text: invoiceAmount() + ' Kr'"></td> <td>bill:</td> <td data-bind="text: billAmount()"></td> <td>Chosen Provision: </td> <td&
<td>Total Amount to be Paid: </td>
<td data-bind="text: invoiceAmount() + ' Kr'"></td>
<td>bill:</td>
<td data-bind="text: billAmount()"></td>
<td>Chosen Provision: </td>
<td><input type="text" data-bind="value: chosenProvision()"/> Kr</td>
应支付的总金额:
账单:
选定条款:
韩元
JS:
self.invoiceAmount=ko.computed(函数(){
var合计=0;
如果(self.selectedVoices().length>0){
for(var p=0;p
我不断得到错误:self.chosenProvision不是一个函数
我还希望能够修改浏览器中的chosenProvision,这就是它绑定到输入标记的原因。要修改computed,它需要是一个 您获得的
self.chosenProvision不是一个函数
的原因是,在self.billmount
中,您使用的是self.chosenProvision
,此时未定义该函数<代码>计算的s在创建时执行(pureComputed
s不执行)
要获得一个可写的计算结果,只需将计算结果定义如下:
self.chosenProvision = ko.computed({
read: function(){
if(self.invoiceAmount() < 750){
return "50";
} else {
return (self.invoiceAmount()*0.1);
}
},
write: function (newValue) {
// Do whatever with newValue
}
});
self.chosenProvision=ko.computed({
读:函数(){
if(自发票金额()<750){
返回“50”;
}否则{
返回(self.invoiceAmount()*0.1);
}
},
写入:函数(newValue){
//用newValue做任何事
}
});
要修改计算的,它需要是一个
您获得的self.chosenProvision不是一个函数
的原因是,在self.billmount
中,您使用的是self.chosenProvision
,此时未定义该函数<代码>计算的s在创建时执行(pureComputed
s不执行)
要获得一个可写的计算结果,只需将计算结果定义如下:
self.chosenProvision = ko.computed({
read: function(){
if(self.invoiceAmount() < 750){
return "50";
} else {
return (self.invoiceAmount()*0.1);
}
},
write: function (newValue) {
// Do whatever with newValue
}
});
self.chosenProvision=ko.computed({
读:函数(){
if(自发票金额()<750){
返回“50”;
}否则{
返回(self.invoiceAmount()*0.1);
}
},
写入:函数(newValue){
//用newValue做任何事
}
});
要修改计算的,它需要是一个
您获得的self.chosenProvision不是一个函数
的原因是,在self.billmount
中,您使用的是self.chosenProvision
,此时未定义该函数<代码>计算的s在创建时执行(pureComputed
s不执行)
要获得一个可写的计算结果,只需将计算结果定义如下:
self.chosenProvision = ko.computed({
read: function(){
if(self.invoiceAmount() < 750){
return "50";
} else {
return (self.invoiceAmount()*0.1);
}
},
write: function (newValue) {
// Do whatever with newValue
}
});
self.chosenProvision=ko.computed({
读:函数(){
if(自发票金额()<750){
返回“50”;
}否则{
返回(self.invoiceAmount()*0.1);
}
},
写入:函数(newValue){
//用newValue做任何事
}
});
要修改计算的,它需要是一个
您获得的self.chosenProvision不是一个函数
的原因是,在self.billmount
中,您使用的是self.chosenProvision
,此时未定义该函数<代码>计算的s在创建时执行(pureComputed
s不执行)
要获得一个可写的计算结果,只需将计算结果定义如下:
self.chosenProvision = ko.computed({
read: function(){
if(self.invoiceAmount() < 750){
return "50";
} else {
return (self.invoiceAmount()*0.1);
}
},
write: function (newValue) {
// Do whatever with newValue
}
});
self.chosenProvision=ko.computed({
读:函数(){
if(自发票金额()<750){
返回“50”;
}否则{
返回(self.invoiceAmount()*0.1);
}
},
写入:函数(newValue){
//用newValue做任何事
}
});
我已经修改了我的问题。你能看一看吗?谢谢,但我对击倒很陌生,不理解可写计算的概念。我试过了,但没用。您能帮我修改代码,将chosenProvision转换为纯计算的可观测值吗。@Saurabh:只需将chosenProvision
的定义移到billAmount
的定义之前。谢谢。从您的第一条评论中可以清楚地看到,computed变量在创建时执行,我试图在创建之前使用computed变量。有时我只是过度阅读,寻找一个事先准备好的答案。再次感谢。现在已经解决了。我还想从浏览器中修改所选的设置值。你知道怎么做吗?我已经修改了我的问题。你能看一看吗?谢谢,但我对击倒很陌生,不理解可写计算的概念。我试过了,但没用。您能帮我修改代码,将chosenProvision转换为纯计算的可观测值吗。@Saurabh:只需将chosenProvision
的定义移到billAmount
的定义之前。谢谢。从您的第一条评论中可以清楚地看到,computed变量在创建时执行,我试图在创建之前使用computed变量。有时我只是过度阅读,寻找一个事先准备好的答案。再次感谢。现在已经解决了。我还想从浏览器中修改所选的设置值。你知道怎么做吗?我已经修改了我的问题。你能看一看吗?谢谢,但我对击倒很陌生,不理解可写计算的概念。我试过了,但没用。您能帮我修改代码,将chosenProvision转换为纯计算的可观测值吗。@Saurabh:只需将chosenProvision
的定义移到billAmount
的定义之前。谢谢。从您的第一条评论中可以清楚地看到,computed变量在创建时执行,我试图在创建之前使用computed变量。有时我只是过度阅读,寻找一个事先准备好的答案。再次谢谢