Spaces:
Sleeping
Sleeping
File size: 1,162 Bytes
4cadbaf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
## @vue/babel-sugar-v-model
Syntactic sugar for v-model in JSX.
### Babel Compatibility Notes
- This repo is only compatible with Babel 7.x, for 6.x please use [vuejs/babel-plugin-transform-vue-jsx](https://github.com/vuejs/babel-plugin-transform-vue-jsx)
### Usage
Install the dependencies:
```sh
# for yarn:
yarn add @vue/babel-sugar-v-model
# for npm:
npm install @vue/babel-sugar-v-model --save
```
In your `.babelrc`:
```json
{
"plugins": ["@vue/babel-sugar-v-model"]
}
```
However it is recommended to use the [configurable preset](../babel-preset-jsx/README.md) instead.
### Details
This plugin adds v-model to the JSX and tries to mirror the same behaviour as in vue-template-compiler, with a few differences:
1. You should use underscore (`_`) instead of dot (`.`) for modifiers (`vModel_trim={this.test}`)
2. It is recommended to use camelCase version of it (`vModel`) in JSX, but you can use kebab-case too (`v-model`).
```js
export default {
data: () => ({
test: 'Hello World',
}),
render(h) {
return (
<div>
<input type="text" vModel_trim={this.test} />
{this.test}
</div>
)
},
}
```
|