Knockout.js knockoutjs MVC 4计算值
我有下面的视图模型Knockout.js knockoutjs MVC 4计算值,knockout.js,knockout-mapping-plugin,knockout-2.0,knockout-mvc,Knockout.js,Knockout Mapping Plugin,Knockout 2.0,Knockout Mvc,我有下面的视图模型 var viewModel = new myViewModel([{ Name: "Name", price: 32, tax: 22, }, { Name: "Name", price: 32, tax: 22, }]); 我有一个数据绑定到 <tbody dat
var viewModel = new myViewModel([{
Name: "Name",
price: 32,
tax: 22,
}, {
Name: "Name",
price: 32,
tax: 22,
}]);
我有一个数据绑定到
<tbody data-bind='foreach: personInfo'>
有什么想法吗
更新:
大概是这样的:
感谢根据文档,在使用索引器访问数据之前,您需要使用Paranthesis访问KO包装的可观察阵列: 试着替换
self.PersonInfo[i].price
与
根据文档,在使用索引器访问数据之前,您需要使用Paranthesis访问KO包装的可观察数组: 试着替换
self.PersonInfo[i].price
与
有趣的是,他们必须更新网站: 答案是这样的
self.totalSurcharge = ko.computed(function () {
var total = 0;
for (var i = 0; i < gifts.length; i++)
total =total+ gifts[i].price;
return total;
});
self.totalOverload=ko.computed(函数(){
var合计=0;
对于(变量i=0;i<1.length;i++)
总计=总计+礼品[i]。价格;
返回总数;
});
有趣的是,他们必须更新网站:
答案是这样的
self.totalSurcharge = ko.computed(function () {
var total = 0;
for (var i = 0; i < gifts.length; i++)
total =total+ gifts[i].price;
return total;
});
self.totalOverload=ko.computed(函数(){
var合计=0;
对于(变量i=0;i<1.length;i++)
总计=总计+礼品[i]。价格;
返回总数;
});
我已经测试了下面的代码,它运行良好
按如下方式修改您的html:
<tr>
<td> Total of price here</td>
<td data-bind="text:totalPrice"></td>
</tr>
这里的总价
在脚本中添加以下计算的可观测值以计算总价:
self.totalPrice = ko.computed({
read: function() {
var totalAmount = null;
for(var i=0 , j=self.gifts().length ; i < j ; i++ )
{
totalAmount =Number(totalAmount)+ Number(self.gifts()[i].price);
}
if(totalAmount == 0){
totalAmount = '0.00'
}
return totalAmount;
}
});
self.totalPrice=ko.computed({
读:函数(){
var totalAmount=null;
for(var i=0,j=self.gifts().length;i
我已经测试了下面的代码,它运行良好
按如下方式修改您的html:
<tr>
<td> Total of price here</td>
<td data-bind="text:totalPrice"></td>
</tr>
这里的总价
在脚本中添加以下计算的可观测值以计算总价:
self.totalPrice = ko.computed({
read: function() {
var totalAmount = null;
for(var i=0 , j=self.gifts().length ; i < j ; i++ )
{
totalAmount =Number(totalAmount)+ Number(self.gifts()[i].price);
}
if(totalAmount == 0){
totalAmount = '0.00'
}
return totalAmount;
}
});
self.totalPrice=ko.computed({
读:函数(){
var totalAmount=null;
for(var i=0,j=self.gifts().length;i
您能否发布一个PersonInfo声明位置的示例,并描述您试图在何处定义可观测的TotalOverload?假设我想在此处显示total of price。这就是我想计算它的方式。你能举一个例子说明PersonInfo是在哪里声明的,并描述一下你试图在哪里定义TotalOverloadComputed observable?假设我想在这里显示Totalof price。这就是我想计算它的方式。这可能更好地让你知道我想怎么做。我尝试了这个,但它不起作用:(这可能更好地让你知道我想怎么做。我尝试了这个,但它不起作用:(谢谢你注意到下面的答案也起作用。我昨天发现的,我不必使用read。谢谢你注意到下面的答案也起作用。我昨天发现的,我不必使用read。