2013-06-18 109 views
1

我有一個CoffeeScript類WorkOrderLabor(http://arcturo.github.io/library/coffeescript/03_classes.html),它具有可觀察的work_item_idKnockout訂閱可觀察數組內的js對象中的observable

我想訂閱此可觀察的更改並運行一些代碼。

這是我在做什麼:

self.addWorkOrderLabor = -> 
    wol = new WorkOrderLabor() 

    wol.work_item_id.subscribe = (val) -> 
    console.log val 

    self.work_order.work_order_labors.push(wol) 

這是行不通的。當函數被調用時,它實際上吐出了val,但是當work_item_id改變時它不會。

work_order_labors是一個可觀察數組。

這裏最好的辦法是什麼?我究竟做錯了什麼?謝謝!

回答

1

您的CoffeeScript語法錯誤,因爲subscribeko.observable上的函數,您需要在其中傳遞迴調函數作爲參數。

所以,正確的語法是:

wol.work_item_id.subscribe (val) -> 
    console.log val 

所以不需要它的方式覆蓋原單subscribe的一項新功能的=

+0

哦,我的,好趕上! – afhammad