Compile vue files to twig templates with PHP
| Directive | Implemented |
|---|---|
| v-text | ✅ |
| v-html | ✅ |
| v-show | ✅ |
| v-if | ✅ |
| v-else | ✅ |
| v-else-if | ✅ |
| v-for | ✅ |
| v-on | ✅ |
| v-bind | partially working |
| v-bind:style | ✅ |
| v-bind:class | ✅ |
| v-model | partially working |
| v-pre | ✅ |
| v-cloak | ✅ |
| v-once | ✅ |
| Functionality | Implemented |
|---|---|
| Slots | partially working |
| Components | ✅ |
| Filters |
It's difficult to interpret JavaScript language features and translate them into twig.
For example, string concatenation within attribute binding is not currently working properly: 🚫
This example works:
<template>
<div :style="'fontSize: ' + (size + 10) + 'px'"></div>
</template>
<script>
export default {
props: {
size: {
type: number,
required: true,
},
},
};
</script><div style="{{ 'fontSize: ' ~ (size + 10) ~ 'px' }};"></div>But this example doesn't work correct:
<template>
<div :style="'fontSize: ' + (foo.size + 10) + 'px'"></div>
</template>
<script>
export default {
props: {
foo: {
type: object,
required: true,
},
},
};
</script><div style="{{ 'fontSize: ' ~ (foo.size ~ 10) ~ 'px' }};"></div>