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
        • static
          • defaults
          • extend
          • processors
        • prototype
          • destroy
          • element
          • on
          • options
          • setup
      • 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
      • can-vdom
    • Core
    • Infrastructure
      • can-global
      • can-test-helpers
    • Ecosystem
    • Legacy
  • Community
  • Contributing
  • GitHub
  • Twitter
  • Chat
  • Forum
  • News
Bitovi

options

  • Edit on GitHub

Options used to configure a control.

Object

Options Object

The this.options property is an Object that contains configuration data passed to a control when it is created (new Control(element, options)).

In the following example, an options object with a message is passed to a Greeting control. The Greeting control changes the text of its element to the options' message value.

var Greeting = Control.extend({
    init: function(){
        this.element.text( this.options.message )
    }
});

new Greeting("#greeting",{message: "I understand this.options"});

The options argument passed when creating the control is merged with defaults in setup.

In the following example, if no message property is provided, the defaults' message property is used.

var Greeting = Control.extend({
    defaults: {
        message: "Defaults merged into this.options"
    }
},{
    init: function(){
        this.element.text( this.options.message )
    }
});

new Greeting("#greeting");

Options Observable

An observable CanMap or DefineMap can also be passed instead of an options object.

In the following example, the defaults' message property is set on the DefineMap options observable, which is then set directly as this.options:

    var GreetingControl = Control.extend({
        defaults: {
            message: 'Hello'
        }
    }, {
        init: function(){
            this.element.text( this.options.message + ' ' + this.options.name )
        }
    });

    var GreetingMap = DefineMap.extend({
        message: 'string',
        name: 'string'
    });

    var data = new GreetingMap();
    data.name = 'Kevin';

    new GreetingControl('#greeting', data);

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