C&C Docs
Log in
Pages

Server rendering — the HTML is already complete

The server renders every page completely before it sends it: every expression evaluated, every list expanded, every widget drawn. View this page's source (Ctrl+U) and the badge and the list below are already there as plain HTML. Then the browser takes that same markup over, and the button starts working.

Hello World!
  • Plan the route
  • Pack the bags
  • Leave at dawn
<cnc-badge :label="'Hello ' + who + '!'"></cnc-badge>
<ul>
  <li x-for="item in items" x-text="item"></li>
</ul>
<button @click="add()">Add an item</button>

A bad expression costs only itself

An expression that throws never turns the page into an error page: its element renders empty and everything around it renders as usual.

<!-- nosuch is not defined: this element renders empty, the page renders as usual -->
<div x-text="nosuch.deep.path"></div>