Raw
Emit content verbatim, without letting Vue parse it. Use this for ESP, Handlebars, or Liquid syntax that uses {{ }} — Vue would otherwise interpret those as expressions and fail or render the wrong output.
Usage
<template>
<Layout>
<Container>
<Text>
Hi <Raw>{{ first_name }}</Raw>,
</Text>
<Text>
Your order <Raw>{{ order_id }}</Raw> has shipped.
</Text>
</Container>
</Layout>
</template>
The {{ ... }} delimiters pass through untouched, ready for your ESP to personalize.
Props
content
Type: string
Default: ''
Content to emit. You don't normally set this prop yourself (it's auto-populated from slot content) but you may pass it explicitly if you have a string variable you want to render:
<script setup>
const liquidSnippet = '{% if customer %}{{ customer.first_name }}{% endif %}'
</script>
<template>
<Text>
Hello <Raw :content="liquidSnippet" />,
</Text>
</template>
When :content is set explicitly, the slot is ignored.
When to use
Reach for Raw whenever your output needs delimiters that conflict with Vue's template syntax: ESP variables (SendGrid/Postmark {{ var }}), Handlebars/Mustache, Liquid, or any server-side templating that runs after Maizzle hands the HTML off.
If you only need to bypass Vue's parser for a single attribute value, prefer Vue's standard escaping (v-bind with a string, HTML entities, or v-pre). Raw is for blocks of content where escaping each delimiter would be tedious or unreadable.