我在使用ko.obserbaleArrays时遇到问题...
这是我的可观察数组
self.favoriten = ko.observableArray([
{
projectName: "Favorit1", isFavourite: false
},
{
projectName: "Favorit2", isFavourite: true
},
{
projectName: "Favorit3", isFavourite: false
}
]);现在我想用如下所示的函数来设置“isFavourtite”属性:
self.makeFavourite = function (projectName, data, event) {
//Some Code
};我现在真的不知道如何用knockout.js设置这个属性
感谢您的回答
发布于 2013-01-23 18:00:51
您可以执行以下操作:
self.makeFavourite = function (projectName, data, event) {
var favorite = ko.utils.arrayFirst(self.favoriten(), function(item){
return item.projectName == projectName;
})
if (favorite){
favorite.isFavourite = data;
}
};但是如果你想更新UI中的值,你必须让projectName和isFavourite可见。下面是一个示例:http://jsfiddle.net/vyshniakov/UdsDf/
发布于 2013-01-23 18:03:47
在makeFavorite函数内部使用ko.utils接口
var item = ko.utils.arrayFirst(this.favoriten(), function(item) {
return ko.utils.stringStartsWith(item.projectName, projectName);
});
if (item)
item.isFavorite = true;https://stackoverflow.com/questions/14476808
复制相似问题