const maybeRef =
!__BROWSER__ &&
context.inline &&
- bindingType &&
- bindingType !== BindingTypes.SETUP_CONST
+ (bindingType === BindingTypes.SETUP_LET ||
+ bindingType === BindingTypes.SETUP_REF ||
+ bindingType === BindingTypes.SETUP_MAYBE_REF)
if (
!expString.trim() ||
assertCode(content)
})
+ test('v-model should not generate ref assignment code for non-setup bindings', () => {
+ const { content } = compile(
+ `<script setup>
+ import { ref } from 'vue'
+ const count = ref(0)
+ </script>
+ <script>
+ export default {
+ data() { return { foo: 123 } }
+ }
+ </script>
+ <template>
+ <input v-model="foo">
+ </template>
+ `,
+ { inlineTemplate: true }
+ )
+ expect(content).not.toMatch(`_isRef(foo)`)
+ })
+
test('template assignment expression codegen', () => {
const { content } = compile(
`<script setup>