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
        • static
          • current
          • data
          • deparam
          • link
          • matched
          • param
          • ready
          • start
          • url
      • 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
      • can-vdom
    • Core
    • Infrastructure
      • can-global
      • can-test-helpers
    • Ecosystem
    • Legacy
  • Community
  • Contributing
  • GitHub
  • Twitter
  • Chat
  • Forum
  • News
Bitovi

link

  • Edit on GitHub

Creates a string representation of an anchor link using data and the registered routes.

route.link(innerText, data, props [, merge])

Make an anchor tag (<A>) that when clicked on will update can-route’s properties to match those in data.

Parameters

  1. innerText {Object}:

    The text inside the link.

  2. data {Object}:

    The data to populate the route with.

  3. props {Object}:

    Properties for the anchor other than href.

  4. merge {Boolean}:

    Whether the given options should be merged into the current state of the route.

Returns

{String}:

A string with an anchor tag that points to the populated route.

Creates and returns an anchor tag with an href of the route attributes passed into it, as well as any properties desired for the tag.

route.link( "My videos", { type: "videos" }, {}, false )
  // -> <a href="#!type=videos">My videos</a>

Other attributes besides href can be added to the anchor tag by passing in a data object with the attributes desired.

route.link( "My videos", { type: "videos" },
  { className: "new" }, false )
    // -> <a href="#!type=videos" class="new">My Videos</a>

It is possible to utilize the current route options when making anchor tags in order to make your code more reusable. If merge is set to true, the route options passed into canRoute.link will be passed into the current ones.

location.hash = "#!type=videos"
route.link( "The zoo", { id: 5 }, true )
  // -> <a href="#!type=videos&id=5">The zoo</true>

location.hash = "#!type=pictures"
route.link( "The zoo", { id: 5 }, true )
  // -> <a href="#!type=pictures&id=5">The zoo</true>

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