Knockout.js 具有可观察到的与另一个具有敲除的内容相同的内容

Knockout.js 具有可观察到的与另一个具有敲除的内容相同的内容,knockout.js,Knockout.js,我有一个名为packing的可观察对象,它包含一系列属性。其中之一是一个名为同位素的可观测轨道 packing - description - type - ... - isotopes - name - weight 我想创建一个单独的可观察物,使其与同位素含量相同。这是动态的,因此无论何时从包装中添加/删除某些东西。同位素这也应该在mycopy中添加/删除 我已经试过了: var mycopy = ko.computed(function () { return p

我有一个名为
packing
的可观察对象,它包含一系列属性。其中之一是一个名为同位素的可观测轨道

packing
 - description
 - type
 - ...
 - isotopes
    - name
    - weight
我想创建一个单独的可观察物,使其与同位素含量相同。这是动态的,因此无论何时从
包装中添加/删除某些东西。同位素
这也应该在
mycopy
中添加/删除

我已经试过了:

var mycopy = ko.computed(function () { return packing.isotopes; });
但它不起作用<代码>mycopy
未定义

有什么想法吗

谢谢


更新

下面是我的代码:

define(function (require) {
    ...
    var mycopy = ko.computed(function () { return packing.isotopes; });

    var activate = function (routeData) {
        var idTran = parseInt(routeData.idTran);
        var idPack = parseInt(routeData.idPack);

        var promise = (idPack == -1) ? // -1 --> create a new empty itinerary
                        ctxTransport.createPackingDetailTransport(idTran, packing) : 
                        ctxTransport.getPackingById(idPack, packing); 

        return promise
              .then(ctxTransport.getTransportById(idTran, transport))
              .fail(somethingWrong); 

        function somethingWrong(error) {
            var msg = 'Error retreiving data. ' + error.message;
            logError(msg, error);
            throw error;
        }
    }

    var vm = {
        activate: activate,
        canDeactivate: canDeactivate,
        resource: resource,
        transport: transport,
        packing: packing,
        mycopy: mycopy,
        ...
    };
}

计算出的可观察对象应该跟踪其他可观察对象,但您在其中没有任何可观察调用。似乎您永远都不需要
计算

var mycopy = packing.isotopes;

理论上,这应该是可行的。但由于您尚未发布完整的代码,我只能断定您存在一些范围界定问题。因此,在计算的
包装中
没有定义。。。请发布一个更简单的示例,其中也有
打包
定义!我更新了我的问题以向您显示我的代码。