UrlConfigApi | angular-ui-router
Options
Menu

Interface UrlConfigApi

An API to customize the URL behavior and retrieve URL configuration

This API can 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 found on UrlService.config.

Hierarchy

Index

Methods

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

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

    Parameters

    • value: Optional  boolean
      :

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

    Returns boolean

    :

    the current value of caseInsensitive

    Example:

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

  • defaultSquashPolicy(value?: string | true | false): string | true | false
  • 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.

    Parameters

    • value: Optional  string | true | false
      :

      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 | true | false

    :

    the current value of defaultSquashPolicy

    Example:

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

  • dispose(router?: UIRouter): any
  • Instructs the Disposable to clean up any resources

  • hashPrefix(): string
  • Gets the hashPrefix (when not running in pushstate mode)

  • hashPrefix(newprefix: string): string
  • Sets the hashPrefix (when not running in pushstate mode)

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

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

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

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

  • 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).

    Parameters

    • value: Optional  boolean
      :

      false to match trailing slashes in URLs, otherwise true.

    Returns boolean

    :

    the current value of strictMode

    Example:

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

  • Creates and registers a custom ParamTypeDefinition object

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

    Parameters

    Returns ParamType

    :

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

    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),
    });
    

Generated using TypeDoc