我有一个CoffeeScript类WorkOrderLabor(http://arcturo.github.io/library/coffeescript/03_classes.html),它有一个可观察的work_item_id
。
我想订阅这个可观察的更改并运行一些代码。
这就是我在做的事情:
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更改时不会吐出。{/ p>
work_order_labors
是一个可观察的数组。
这里最好的方法是什么?我究竟做错了什么?谢谢!
答案 0 :(得分:1)
您的CoffeeScript语法错误,因为subscribe
是ko.observable
上的函数,您需要将回调函数作为参数传递。
所以正确的语法是:
wol.work_item_id.subscribe (val) ->
console.log val
因此,不需要使用新函数覆盖原始=
的{{1}}。