1

observable を持つCoffeeScript クラス WorkOrderLabor ( http://arcturo.github.io/library/coffeescript/03_classes.htmlwork_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 が変更されたときではありません。

work_order_labors観測可能な配列です。

ここで最善のアプローチは何ですか?私は何を間違っていますか?ありがとう!

4

1 に答える 1

1

引数としてコールバック関数を渡す必要が subscribeある関数であるため、CoffeeScript 構文が間違っています。ko.observable

したがって、正しい構文は次のとおりです。

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

したがって、オリジナルを新しい関数で=オーバーライドする必要はありません。subscribe

于 2013-06-18T13:45:00.640 に答える