我正在开发ASP.Net MVC 5和KnockoutJs中的会计软件。 我是KnockoutJs和Javascript的新手,所以有一些困难。
我想将一个可观察数组传递给一个函数,该函数将为我计算帐户代码。在那个函数中我想要那个数组。
我的代码:
self.SUBACCOUNTS = ko.observableArray([]);
self.selectedSubAccount.subscribe(function (newValue) {
self.ACCOUNT_CODE = GenrateAccountCode(self.SUBACCOUNTS());
});
function GenrateAccountCode(accArray)
{
//want to access some value of the passed array here
}
我想将上述函数的返回值赋给可观察变量(self.ACCOUNT_CODE
)。
答案 0 :(得分:0)
要访问可观察数组的某些值,可以使用ko.utils.arrayForEach
函数,并使用以下示例:
// where accArray === self.SUBACCOUNTS()
function GenrateAccountCode(accArray)
{
var initialCode = 0;
//want to access some value of the passed array here
ko.utils.arrayForEach(accArray, function(subaccount){
// process the values of the array here. Assume each SUBACCOUNTS() item has a code property
initialCode += subaccount.code();
});
return initialCode;
}
然后将你的self.ACCOUNT_CODE
observable设置为函数的返回值,你可以这样做:
self.ACCOUNT_CODE(GenerateAccountCode(self.SUBACCOUNTS())