ホームページ >ウェブフロントエンド >Vue.js >vue が v-model を実装する方法を詳しく説明した記事 (コード例付き)
この記事では、vue に関する関連知識を提供します。主に、なぜ v-model を使用するのかについて説明します。 vue を使って v-model を実装する方法について興味がある方は見てみましょう。
v-modelは主に2つの機能を提供しており、ビュー層の入力値がデータの属性値に影響を与えます。データ属性の値が変更されると、ビューが更新され、レイヤーの値が変更されます。
核心は、一方では、モーダル レイヤーがdefinePropertyを通じて各属性をハイジャックし、変更が検出されると、関連するページ要素を通じて更新されるということです。一方、テンプレート ファイルをコンパイルすると、入力イベントがコントロールの v-model にバインドされるため、ページ入力は関連するデータ属性値をリアルタイムで更新できます。
<template> <div id="app"> {{username}} <br/> <my-input type="text" v-model="username"></my-input> </div> </template> <script> import myinput from './components/myinput' export default { name: 'App', components:{ myinput }, data(){ return { username:'' } } } </script>
<template> <div class="my-input"> <input type="text" class="my-input__inner" @input="handleInput"/> </div> </template> <script> export default { name: "myinput", props:{ value:{ //获取父组件的数据value type:String, default:'' } }, methods:{ handleInput(e){ this.$emit('input',e.target.value) //触发父组件的input事件 } } } </script>
<template> <div> <kmDialog v-model="showDialog" > <el-button @click="show">点我</el-button> </div> </template> <script> import kmDialog from 'KmDialog.vue' export default { components: { KmDialog } data () { return { showDialog: false } }, methods: { show() { this.showDialog = true } } } </script>
<template> <el-dialog :title="isEdit ? '编辑设备' : '新增设备'" :visible.sync="value" width="40%" @close="cancel" > <span>这是一段信息</span> </el-dialog> </template> <script> export default { props: { value: { default: false, type: Boolean } }, methods: { cancel() { this.$emit('input', false) } } } </script>
vue.js ビデオ チュートリアル 」
以上がvue が v-model を実装する方法を詳しく説明した記事 (コード例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。