DoneJS StealJS jQuery++ FuncUnit DocumentJS
3.14.1
5.0.0 4.3.0 2.3.35
  • About
  • Guides
  • API Docs
  • Community
  • Contributing
  • Bitovi
    • Bitovi.com
    • Blog
    • Design
    • Development
    • Training
    • Open Source
    • About
    • Contact Us
  • About
  • Guides
  • API Docs
    • Observables
      • can-compute
      • can-define
      • can-define/list/list
      • can-define/map/map
      • can-define-stream
      • can-define-stream-kefir
      • can-event
      • can-event/async/async
      • can-event/batch/batch
      • can-event/lifecycle/lifecycle
      • can-kefir
      • can-list
      • can-map
      • can-map-backup
      • can-map-define
      • can-observation
      • can-observe
      • can-simple-map
      • can-simple-observable
      • can-stream
      • can-stream-kefir
    • Data Modeling
      • can-connect
      • can-connect-cloneable
      • can-connect-feathers
      • can-connect-ndjson
      • can-connect-signalr
      • can-fixture
      • can-fixture-socket
      • can-ndjson-stream
      • can-set
    • Views
      • can-component
      • can-ejs
      • can-element
      • can-react-component
      • can-stache
      • can-stache/helpers/route
      • can-stache-bindings
      • can-stache-converters
      • can-view-autorender
      • can-view-callbacks
      • can-view-href
      • can-view-import
      • can-view-live
      • can-view-model
      • can-view-nodelist
      • can-view-parser
      • can-view-scope
      • can-view-target
      • react-view-model
      • react-view-model/component
      • steal-stache
    • Routing
      • can-deparam
      • can-param
      • can-route
      • can-route-pushstate
    • JS Utilities
      • can-assign
      • can-define-lazy-value
      • can-globals
      • can-key-tree
      • can-make-map
      • can-parse-uri
      • can-string
      • can-string-to-any
      • can-util
      • can-zone
      • can-zone-storage
    • DOM Utilities
      • can-ajax
      • can-attribute-encoder
      • can-control
      • can-dom-events
      • can-event-dom-enter
      • can-event-dom-radiochange
      • can-jquery
    • Data Validation
      • can-define-validate-validatejs
      • can-validate
      • can-validate-interface
      • can-validate-legacy
      • can-validate-validatejs
    • Typed Data
      • can-cid
      • can-construct
      • can-construct-super
      • can-namespace
      • can-reflect
      • can-reflect-promise
      • can-types
    • Polyfills
      • can-symbol
        • Methods
          • for
        • Type Symbols
          • can.isFunctionLike
          • can.isListLike
          • can.isMapLike
          • can.isValueLike
        • Get/Set Symbols
          • can.deleteKeyValue
          • can.getKeyValue
          • can.getValue
          • can.setKeyValue
          • can.setValue
          • can.updateValues
        • Shape Symbols
          • can.assignDeep
          • can.getName
          • can.getOwnEnumerableKeys
          • can.getOwnKeyDescriptor
          • can.getOwnKeys
          • can.hasKey
          • can.hasOwnKey
          • can.proto
          • can.size
          • can.updateDeep
        • Call Symbols
          • can.apply
          • can.new
        • Observe Symbols
          • can.getKeyDependencies
          • can.getValueDependencies
          • can.keyHasDependencies
          • can.offKeyValue
          • can.offPatches
          • can.offValue
          • can.onKeyValue
          • can.onKeys
          • can.onKeysAdded
          • can.onKeysRemoved
          • can.onPatches
          • can.onValue
          • can.valueHasDependencies
        • Types
          • Patch
        • keyFor
      • can-vdom
    • Core
    • Infrastructure
      • can-global
      • can-test-helpers
    • Ecosystem
    • Legacy
  • Community
  • Contributing
  • GitHub
  • Twitter
  • Chat
  • Forum
  • News
Bitovi

can.onPatches

  • Edit on GitHub

Defines how to listen to patch changes on an object.

@can.onPatches( handler(patches), queueName )

The @can.onPatches symbol points to a function that registers handler to be called back with an array of changes that have happened on the client.

The following mutations on a list-like object will produce the patch objects in the comments:

const list = [];

list.count = 3000; //-> {type: "add", key: "count", 3000}

list.push( "a" ); //-> {type: "splice", index: 0, insert: ["a"]}

Parameters

  1. handler {function(patches)}:

    The string key to bind on changes to. The handler must be called back with an array of Patch objects.

  2. queueName {String}:

    The [can-queues] queue the handler should be enqueued within. Defaults to "mutate".

CanJS is part of DoneJS. Created and maintained by the core DoneJS team and Bitovi. Currently 3.14.1.

On this page

Get help

  • Chat with us
  • File an issue
  • Ask questions
  • Read latest news