2013-04-24 53 views
0

我有一個名爲packing的可觀察項,其中包含一組屬性。其中之一是名爲isotopes觀察到與另一個具有敲除的內容相同的內容

packing 
- description 
- type 
- ... 
- isotopes 
    - name 
    - weight 

我想創建一個單獨的可觀測到有相同的內容,packing.isotopes的observableArray。這種動態是如此,所以無論何時添加/刪除packing.isotopes這應該也被添加/刪除mycopy內。

我已經嘗試:

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

但它不工作。 mycopyundefined

有什麼想法?

謝謝。


UPDATE

下面是我的代碼:

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, 
     ... 
    }; 
} 
+0

理論上這應該起作用。但是因爲你沒有發佈完整的代碼,我只能說你有一些範圍問題。所以在你計算的'packing'裏面沒有定義......請發佈一個更加緊湊的例子,你也有'packing'定義! – nemesv 2013-04-24 07:38:39

+0

我更新了我的問題,向您展示了我的代碼。 – Bronzato 2013-04-24 07:48:11

回答

0

觀測計算應跟蹤觀測等,但你沒有內部的任何可觀察到的呼叫。似乎你不需要computed有史以來。

var mycopy = packing.isotopes; 
相關問題