UrlConfig | @uirouter/core
Options
Menu

Class UrlConfig

An API to customize the URL behavior and retrieve URL configuration

This API is used to customize the behavior of the URL. This includes optional trailing slashes (strictMode), case sensitivity (caseInsensitive), and custom parameter encoding (custom type).

It also has information about the location (url) configuration such as port and baseHref. This information can be used to build absolute URLs, such as https://example.com:443/basepath/state/substate?param1=a#hashvalue;

This API is a property of UrlService as UrlService.config.

Hierarchy

  • UrlConfig

Implements

Index

Methods

  • baseHref(): string
  • Gets the base Href, e.g., http://localhost/approot/

  • Gets the base Href, e.g., http://localhost/approot/

    Returns string

    :

    the application's base href


  • caseInsensitive(value?: boolean): boolean
  • Defines whether URL matching should be case sensitive (the default behavior), or not.

  • Defines whether URL matching should be case sensitive (the default behavior), or not.

    Example:

    // Allow case insensitive url matches
    urlService.config.caseInsensitive(true);

    Parameters

    • value: Optional  boolean
      :

      false to match URL in a case sensitive manner; otherwise true;

    Returns boolean

    :

    the current value of caseInsensitive


  • defaultSquashPolicy(value?: boolean | string): string | false | true
  • Sets the default behavior when generating or matching URLs with default parameter values.

  • Sets the default behavior when generating or matching URLs with default parameter values.

    Example:

    // Remove default parameter values from the url
    urlService.config.defaultSquashPolicy(true);

    Parameters

    • value: Optional  boolean | string
      :

      A string that defines the default parameter URL squashing behavior.

      • nosquash: When generating an href with a default parameter value, do not squash the parameter value from the URL
      • slash: When generating an href with a default parameter value, squash (remove) the parameter value, and, if the parameter is surrounded by slashes, squash (remove) one slash from the URL
      • any other string, e.g. "~": When generating an href with a default parameter value, squash (remove) the parameter value from the URL and replace it with this string.

    Returns string | false | true

    :

    the current value of defaultSquashPolicy


  • dispose(): void
  • Returns void


  • hashPrefix(newprefix?: string): string
  • Gets or sets the hashPrefix

  • Gets or sets the hashPrefix

    This only applies when not running in html5Mode (pushstate mode)

    If the current url is http://localhost/app#!/uirouter/path/#anchor, it returns ! which is the prefix for the "hashbang" portion.

    Parameters

    • newprefix: Optional  string

    Returns string

    :

    the hash prefix


  • host(): string
  • Gets the host, e.g., localhost

  • Gets the host, e.g., localhost

    Returns string

    :

    the protocol


  • html5Mode(): boolean
  • Returns true when running in pushstate mode

  • Returns true when running in pushstate mode

    Returns boolean

    :

    true when running in html5 mode (pushstate mode).


  • port(): number
  • Gets the port, e.g., 80

  • Gets the port, e.g., 80

    Returns number

    :

    the port number


  • protocol(): string
  • Gets the protocol, e.g., http

  • Gets the protocol, e.g., http

    Returns string

    :

    the protocol


  • strictMode(value?: boolean): boolean
  • Defines whether URLs should match trailing slashes, or not (the default behavior).

  • Defines whether URLs should match trailing slashes, or not (the default behavior).

    Example:

    // Allow optional trailing slashes
    urlService.config.strictMode(false);

    Parameters

    • value: Optional  boolean
      :

      false to match trailing slashes in URLs, otherwise true.

    Returns boolean

    :

    the current value of strictMode


  • Creates and registers a custom ParamType object

    A custom parameter type can be used to generate URLs with typed parameters or custom encoding/decoding.

    Note: Register custom types before using them in a state definition.

    Example:

    // Encode object parameter as JSON string
    urlService.config.type('myjson', {
      encode: (obj) => JSON.stringify(obj),
      decode: (str) => JSON.parse(str),
      is: (val) => typeof(val) === 'object',
      pattern: /[^/]+/,
      equals: (a, b) => _.isEqual(a, b),
    });

    See ParamTypeDefinition for more examples

    Parameters

    Returns any

    :

    if only the name parameter was specified: the currently registered ParamType object, or undefined


Generated using TypeDoc