> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# controller

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[localhost link]: http://localhost:3000/docs/4/app-studio/reference/tags/lightning.directive.controller

[mintlify link]: https://doc.lucidworks.com/docs/4/app-studio/reference/tags/lightning.directive.controller

[old doc.lw link]: https://doc.lucidworks.com/app-studio/4.2/1144

<LwTemplate />

## Description

Wraps the html in a controller.

## Usage

as attribute

```xml wrap  theme={"dark"}
<ANY controller="{string}">
   ...
</ANY>
```

#### Parameters

| Param      | Type       | Details                     |
| ---------- | ---------- | --------------------------- |
| controller | **string** | The name of the controller. |

## Example

#### Source

```xml wrap  theme={"dark"}
<div controller="ExampleController">
        <p>{{foo}} <a href="javascript:void(0);" ng-click="alert()" styling="button">Alert!</a> </p>
    </div>
    <hr/>
    <div controller="Example2Controller">
        <p>{{bar}}</p>
    </div>
```

```js wrap  theme={"dark"}
angular.module('lightning')
.controller('ExampleController', ['$scope','$timeout', function($scope,$timeout) {
            $scope.foo = 'bar';
            $scope.alert = function(){
            alert('Hello World!')
            };
        }])
.controller('Example2Controller', ['$scope','$timeout', function($scope,$timeout) {
            $scope.bar = 'foo';
        }]);
```

#### Result

<img src="https://mintcdn.com/lucidworks/_JCWsGwGCZxJia7w/assets/images/app-studio/as-examples/tags/controller.png?fit=max&auto=format&n=_JCWsGwGCZxJia7w&q=85&s=6d14f782f9abc1f8bcaa9d5f8d1b01aa" alt="Result" width="1024" height="191" data-path="assets/images/app-studio/as-examples/tags/controller.png" />
