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.onValue

  • Edit on GitHub

Defines how observables can listen to the object's value changing.

@@can.onValue( handler(newValue) )

The @@can.onValue symbol points to a function that registers handler to be called back with the new value of the object when it changes.

var obj = function(value) {
    if(arguments.length >= 1) {
        obj.currentValue = value;
        obj.handlers.forEach(function(handler){
            handler.call(obj, value);
        });
    } else {
        return obj.currentValue;
    }
};

obj[canSymbol.for("can.onValue")] = function(handler){
    if(!obj.handlers) {
        obj.handlers = [];
    }
    obj.handlers.push(handler);
}

Parameters

  1. handler {function(newValue)}:

    The handler must be called back with this as the instance of the observable.

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