Data binding 将参数传递给敲除Js文本绑定
如何将自定义参数传递给文本绑定 我的HTMLData binding 将参数传递给敲除Js文本绑定,data-binding,knockout.js,parameters,Data Binding,Knockout.js,Parameters,如何将自定义参数传递给文本绑定 我的HTML <span data-bind="text: something"></span> 最主要的问题是我有几个跨度,每个跨度都有一个不同于可观测阵列的计数。我曾经使用过这个函数,但在我的ViewModel中使用所有这些非常相似的计数函数似乎非常麻烦 <span data-bind="text: countFemale"></span> <span data-bind="text: countMale
<span data-bind="text: something"></span>
最主要的问题是我有几个跨度,每个跨度都有一个不同于可观测阵列的计数。我曾经使用过这个函数,但在我的ViewModel中使用所有这些非常相似的计数函数似乎非常麻烦
<span data-bind="text: countFemale"></span>
<span data-bind="text: countMale"></span>
<span data-bind="text: countFrogs"></span>
<span data-bind="text: countCars"></span>
请注意,我希望能够传入一个areaName
,以避免像这样的函数太多
<span data-bind="text: something('123456')"></span>
self.areaCount = ko.computed(function(areaName)
{
console.log(this);
var c = 0;
$.each(self.progression(), function(i, obj){
if(obj.model.area() == areaName)
c++;
});
if(c == 0)
return '';
return "(" + c + ")";
}, this);
self.areaCount = ko.computed(function()
{
console.log(this);
var c = 0;
$.each(self.progression(), function(i, obj){
if(obj.model.area() == "male")
c++;
});
if(c == 0)
return '';
return "(" + c + ")";
}, this);
self.areaCount = ko.computed(function()
{
console.log(this);
var c = 0;
$.each(self.progression(), function(i, obj){
if(obj.model.area() == "female")
c++;
});
if(c == 0)
return '';
return "(" + c + ")";
}, this);
self.areaCount = ko.computed(function()
{
console.log(this);
var c = 0;
$.each(self.progression(), function(i, obj){
if(obj.model.area() == "frogs")
c++;
});
if(c == 0)
return '';
return "(" + c + ")";
}, this);
self.areaCount = ko.computed(function()
{
console.log(this);
var c = 0;
$.each(self.progression(), function(i, obj){
if(obj.model.area() == "cars")
c++;
});
if(c == 0)
return '';
return "(" + c + ")";
}, this);
您是否尝试过仅使用函数:
<div data-bind="text: showCount('frogs')"></div>
在您的情况下,将区域名称传递给测试函数并进行过滤。您是否尝试过仅使用函数:
<div data-bind="text: showCount('frogs')"></div>
在您的情况下,将区域名称传递给测试函数并进行过滤。您能详细解释一下您的目标吗?这些范围都包含一个数字,该数字是可观察数组中特定元素的计数。有这么多相似的函数似乎很愚蠢,我希望能够只有一个函数,并传入一个参数,该参数决定应该使用哪种类型的计数。您能进一步解释您的目标吗?这些跨度都包含一个数字,该数字是可观察数组中特定元素的计数。有这么多相似的函数似乎很傻,我只想有一个函数,并传入一个参数来确定应该使用哪种类型的计数。我已经尝试过了,但一定是做错了什么,因为我刚刚重试了它并成功了。啊,老经典!在那里,完成了,很高兴帮助排序。感谢提醒我使用一个简单的函数-我在玩计算。我已经尝试过了,但一定是做错了什么,因为我刚刚重试了它,它成功了。啊,古老的经典!在那里,完成了,很高兴能帮助排序。谢谢你提醒我使用一个简单的函数-我在玩计算机。
showCount: function (value) { return '(' + value + ')'; }