0
4

2 回答 2

1

我不知道你的代码到底想做什么,但你可以使用函数来创建一个水果对象的实例。

var Fruit = function(opts){
    this.cart = ko.observable(opts.cart || 1);
    this.fruit = opts.fruit || '';
    this.carts = ko.computed(function(){
        // some logic here
    })
}

然后在你的 fruits 可观察数组中创建一个 Fruit 对象的新实例:

var fruits = ko.observableArray([new Fruit({fruit: 'Apple'})]);

希望它会有所帮助。

于 2013-10-23T18:20:22.003 回答
0

可能是一些范围问题。我在一个单独的构造函数中移动了 observable 数组中的对象,它起作用了:http: //jsfiddle.net/saP6v/

var crt = function(){
        var self = this;
        self.cart = ko.observable(1),
        self.fruit = 'Apple',
        self.carts = ko.computed(function () {
            var tempCartList = [];
            console.log(this);
            console.log(this.cart);
            if ( this.cart) tempCartList.push(this.cart());
            else console.log("Couldnot reference");
            return tempCartList;
        },self)
}

var fruits = ko.observableArray([new crt()]);
于 2013-10-23T18:18:10.083 回答