> For the complete documentation index, see [llms.txt](https://cbwire.ortusbooks.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cbwire.ortusbooks.com/cbwire-v1/essentials/rendering-components.md).

# Rendering Views

### renderIt()&#x20;

You can set your component's template by defining a `renderIt()` method on your component.

```javascript
component extends="cbwire.models.Component" {

    function renderIt(){
        // Renders ./views/wires/myView.cfm
        return this.renderView( "myView" );
    }

}
```

### variables.view

You can also set your component template using `variables.view` as an alternative to renderIt().

```javascript
component extends="cbwire.models.Component" {
    variables.view = "myView";
}

```

### Implicit Lookup

If you haven't set your component's view using `renderIt()` or `variables.view`, cbwire will look for a file that matches your component's file name.

```javascript
// File: ./wires/Counter.cfc
component extends="cbwire.models.Component" {
    // No explicit view defined.
}
```

For the `Counter.cfc` example above, cbwire will attempt to render a view located under **./views/wires/counter.cfm**

{% hint style="info" %}
File names should be lowercase when using Implicit Lookups. This is to avoid issues on case-sensitive file systems.
{% endhint %}

### View Example

```xml
// File: ./views/wires/counter.cfm
<!--- GOOD --->
<cfoutput>
    <div>
        <button wire:click="increment">Increment Counter</button>
    </div>
</cfoutput>

<!--- BAD --->
<cfoutput>
    <button wire:click="increment">Does Not Work</button>
</cfoutput>
```

{% hint style="warning" %}
Be sure that cbwire can bind onto your component's view by including an outer element such as`<div>`. If an outer element is not detected, cbwire will throw an `OuterElementNotFound`exception.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cbwire.ortusbooks.com/cbwire-v1/essentials/rendering-components.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
