---
schema_version: "1"
id: 73224295a14c45c959b0f6fb9e3f42c7ca34164c9fc7d6ed7e5b62a780b7a569
title: Value Providers
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/aura-platform/guides/aura/expr/expr-source.md
canonical_url: https://developer.salesforce.com/docs/platform/aura-platform/guide/expr-source.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: fc3fe4b1bd0e2df725f30fbe2fdbd4a7a5839a8cea9553ee9f8436a4306188ef
products:
  - Lightning Aura Components Developer Guide
  - Platform Developer Content
---

# Value Providers

Value providers are a way to access data. Value providers encapsulate related values together, similar to how an object encapsulates properties and methods.

The value providers for a component are `v` (view) and `c` (controller).

|Value Provider|Description|See Also|
|--------------|-----------|--------|
|`v`|A component’s attribute set. This value provider enables you to access the value of a component’s attribute in the component’s markup.|[Component Attributes](https://developer.salesforce.com/docs/platform/aura-platform/components/components-attributes.md#component-attributes)|
|`c`|A component’s controller, which enables you to wire up event handlers and actions for the component|[Handling Events with Client-Side Controllers](https://developer.salesforce.com/docs/platform/aura-platform/js/js-client-side-controller.md#handling-events-with-client-side-controllers)|

All components have a `v` value provider, but aren't required to have a controller. Both value providers are created automatically when defined for a component.

**note:** Expressions are bound to the specific component that contains them. That component is also known as the attribute value provider, and is used to resolve any expressions that are passed to attributes of its contained components.

## Global Value Providers

Global value providers are global values and methods that a component can use in expressions.

|Global Value Provider|Description|See Also|
|---------------------|-----------|--------|
|`globalID`|The `globalId` global value provider returns the global ID for a component. Every component has a unique `globalId`, which is the generated runtime-unique ID of the component instance.|[Component IDs](https://developer.salesforce.com/docs/platform/aura-platform/components/components-ids.md#component-ids)|
|`$Browser`|The `$Browser` global value provider returns information about the hardware and operating system of the browser accessing the application.|[$Browser](https://developer.salesforce.com/docs/platform/aura-platform/guide/expr-browser-value-provider.md#browser)|
|`$ContentAsset`|The `$ContentAsset` global value provider lets you reference images, style sheets, and JavaScript used as asset files in your lightning components.|[$ContentAsset](https://developer.salesforce.com/docs/platform/aura-platform/guide/expr-contentasset-value-provider.md)|
|`$Label`|The `$Label` global value provider enables you to access labels stored outside your code.|[Using Custom Labels](https://developer.salesforce.com/docs/platform/aura-platform/labels/labels-value-provider-platform.md#using-custom-labels)|
|`$Locale`|The `$Locale` global value provider returns information about the current user’s preferred locale.|[$Locale](https://developer.salesforce.com/docs/platform/aura-platform/guide/expr-locale-value-provider.md#locale)|
|`$Resource`|The `$Resource` global value provider lets you reference images, style sheets, and JavaScript code you’ve uploaded in static resources.|[$Resource](https://developer.salesforce.com/docs/platform/aura-platform/guide/expr-resource-value-provider.md)|

## Accessing Fields and Related Objects

Values in a value provider are accessed as named properties. To use a value, separate the value provider and the property name with a dot (period). For example, `v.body`. You can access value providers in markup or in JavaScript code.

When an attribute of a component is an object or other structured data (not a primitive value), access the values on that attribute using the same dot notation.

For example, `{!v.accounts.id}` accesses the id field in the accounts record.

For deeply nested objects and attributes, continue adding dots to traverse the structure and access the nested values.

**See Also**  


-   [Dynamic Output in Expressions](https://developer.salesforce.com/docs/platform/aura-platform/guide/expr-dynamic-output.md)

