You can use the v-model directive to create two-way data binding on form control elements. This article mainly introduces the detailed explanation of vue forms. Friends who need it can refer to it
1. Basic usage
You can use v-model The directive creates two-way data binding on the form's and
But v-model is essentially just syntactic sugar. It is responsible for listening to user input events to update data and perform some special processing for some extreme scenarios.
v-model will ignore the initial values of the value, checked, and selected attributes of all form elements and always use the data of the Vue instance as the data source. You should declare the initial value via JavaScript in the component's data option.
A set of codes, after reading the basic usage of text, textarea, radio, checkbox, and select:
<p id="app7"> <input type="text" v-model="message"><label>{{message}}</label></br> <textarea v-model="message1"></textarea><label>{{message1}}</label></br> <!--单选按钮在单独使用时,不需要v-model,直接使用v-bind 绑定一个布尔类型的值,为真时选中,为否时不选--> <input type="radio" :checked="picked"><label>单选按钮</label></br> <!--如果是组合使用来实现互斥选择的效果,就需要v-model 配合value来使用:--> <input type="radio" v-model="sex" value="boy"><label>男</label> <input type="radio" v-model="sex" value="girl"><label>女</label></br> <!--复选框使用数组类型的数据匹配--> <input type="checkbox" v-model="hobby" value="跑步"><label>跑步</label> <input type="checkbox" v-model="hobby" value="爬山"><label>爬山</label> <input type="checkbox" v-model="hobby" value="滑雪"><label>滑雪</label></br> <!--单选时的选择框,多选时加multiple属性就可以了--> <!--但我们一般都不用原生的这种下拉框,不美观,扩展功能也不好,一般会用插件或自己封装一个--> <select v-model="select"> <option disabled value="">请选择</option> <option>html</option> <option value="js">javascript</option> <option>css</option> </select> <!--用 v-for 渲染的动态选项--> <select v-model="selected"> <option v-for="option in options" :value="option.value"> {{option.text}} </option> </select> </p> var app7 = new Vue({ el: '#app7', data:{ message: '单行文本', message1: '多行文本', picked: true, sex: 'boy', hobby: ['爬山','滑雪'], select: 'css', selected: 'A', options: [ { text: 'One', value: 'A' }, { text: 'Two', value: 'B' }, { text: 'Three', value: 'C' } ] } });
2. Value binding
When radio buttons, check boxes and selection lists are used alone or in radio selection mode, the value bound to v-model is a static string or Boolean value, but in business, sometimes binding is required A dynamic data can be implemented using v-bind.
A set of codes, after reading the commonly used value bindings of radio, checkbox, and select in forms:
<p id="app8"> <!--单选按钮,利用value动态绑定,在选中时,app.picked === app.value, 值都是boy--> <input type="radio" v-model="picked" :value="value"> <label>单选按钮</label> <p>{{picked}}</p> <p>{{value}}</p> <!--复选框,利用true-value与false-value动态绑定,勾选时,app.toggle == app.value1; 未勾选时,app.toggle == app.value2--> <input type="checkbox" v-model="toggle" :true-value="value1" :false-value="value2"> <label>复选框</label> <p>{{toggle}}</p> <p>{{value1}}</p> <p>{{value2}}</p> <!--选择列表,当选中时,app.selected 是一个Object ,所以app.selected.number == 123--> <select v-model="selected"> <option :value="{number:123}">123</option> </select> {{selected.number}} </p> var app8 = new Vue({ el: '#app8', data:{ picked: false, value: 'boy', toggle: false, value1: 'a', value2: 'b', selected: '' } });
3. Modifiers
Similar to event modifiers, v-model also has modifiers to control the timing of data synchronization.
A set of codes, after reading the commonly used modifiers lazy, number, and trim
<p id="app9"> <!-- .lazy: 在输入框中, v-model 默认是在input 事件中同步输入框的数据(除了提示中介绍的中文输入法情况外), 使用修饰符.lazy 会转变为在change 事件中同步,这时,message 并不是实时改变的,而是在失焦或按回车时才更新。--> <input type="text" v-model.lazy="message"> <p>{{message}}</p> <!--.number: 使用修饰符.number 可以将输入转换为Number 类型,否则虽然你输入的是数字,但它的类型其实是String ,比如在数字输入框时会比较有用--> <input type="text" v-model.number="number"> <p>{{typeof number}}</p> <!-- .trim: 修饰符.trim 可以自动过滤输入的首尾空格--> <input type="text" v-model="text"> <p>{{text}}</p> </p> var app9 = new Vue({ el: '#app9', data:{ message: '', number: '', text: '' } });
The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.
Related articles:
Detailed explanation of browser and server interaction in Ajax
Zero-based learning of AJAX and the AJAX framework
Zero basic learning AJAX to create automatic verification forms
The above is the detailed content of Detailed explanation of vue form. For more information, please follow other related articles on the PHP Chinese website!

JavaScript core data types are consistent in browsers and Node.js, but are handled differently from the extra types. 1) The global object is window in the browser and global in Node.js. 2) Node.js' unique Buffer object, used to process binary data. 3) There are also differences in performance and time processing, and the code needs to be adjusted according to the environment.

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Chinese version
Chinese version, very easy to use

WebStorm Mac version
Useful JavaScript development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver Mac version
Visual web development tools
