この記事では、Vue の修飾子について簡単に理解し、一般的な修飾子と書き方をまとめますので、皆様のお役に立てれば幸いです。
Vue
では、モディファイアは多くの ## を処理します。 # の詳細DOM イベントは、こうした面倒な処理に多くの時間を費やす必要がなくなり、より多くのエネルギーをプログラムの論理処理に集中できることを意味します。 [関連する推奨事項:
vuejs ビデオ チュートリアル ]
vue の修飾子は次の 5 つのタイプに分類されます:
input タグです。使用したコマンドは
v-model
v-model は
input Update のたびに実行されます。イベント後のデータです。
lazy 修飾子を追加して、各
change イベントの後にデータを更新することもできます:
<input type="text" v-model.lazy="value"> <p>{{value}}</p>
の後に .trim
修飾子を追加できます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><input type="text" v-model.trim="value"></pre><div class="contentsignin">ログイン後にコピー</div></div>
管理入力の後に .number
修飾子を追加します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><input v-model.number="age" type="number"></pre><div class="contentsignin">ログイン後にコピー</div></div>
stop
メソッドを呼び出すのと同じです。イベントをクリックすると、配信が停止します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><div @click="shout(2)">
<button @click.stop="shout(1)">ok</button>
</div>
//只输出1</pre><div class="contentsignin">ログイン後にコピー</div></div>
メソッドを呼び出すことと同じです。イベントを送信しても、ページはリロードされなくなります <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><form @submit.prevent="onSubmit"></form></pre><div class="contentsignin">ログイン後にコピー</div></div>
<div v-on:click.self="doThat">...</div>
関連するコードが同じ順序で生成されるため、修飾子を使用する場合は呼び出し順序に注意する必要があります。したがって、
@click.prevent.selfを使用すると、要素とその子要素のすべてのクリック イベントのデフォルトの動作
4. 1 回が防止されますが、
@click.self.prevent要素自体のクリック イベントを防ぐデフォルトの動作のみです。
<button @click.once="shout(1)">ok</button>
5. Capture
<div @click.capture="shout(1)"> obj1 <div @click.capture="shout(2)"> obj2 <div @click="shout(3)"> obj3 <div @click="shout(4)"> obj4 </div> </div> </div> </div> // 输出结构: 1 2 4 3
6.passiveonscroll イベントに
.lazy# を与えるのと同じになります。 ## 変更記号。 イベントのスクロール (スクロール) のデフォルト動作は、
event.preventDefault()
onScroll が完了するのを待たずにすぐに実行されます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 -->
<!-- 而不会等待 `onScroll` 完成 -->
<!-- 这其中包含 `event.preventDefault()` 的情况 -->
<div v-on:scroll.passive="onScroll">...</div></pre><div class="contentsignin">ログイン後にコピー</div></div>
.passive
修飾子は通常、タッチ イベント リスナーで使用され、
.preventを同時に使用しないでください。
.passive
はすでにブラウザに次のことを示しているためです。がイベントのデフォルトの動作をブロックしたくない。これを行うと、
.prevent
は無視され、ブラウザは警告をスローします。
让组件变成像html
内置标签那样监听根元素的原生事件,否则组件上使用 v-on
只会监听自定义事件
<my-component v-on:click.native="doSomething"></my-component>
使用.native修饰符来操作普通HTML标签是会令事件失效的
鼠标按钮修饰符针对的就是左键、右键、中键点击,有如下:
<button @click.left="shout(1)">ok</button> <button @click.right="shout(1)">ok</button> <button @click.middle="shout(1)">ok</button>
键盘修饰符是用来修饰键盘事件(onkeyup
,onkeydown
)的,有如下:
keyCode
存在很多,但vue
为我们提供了别名,分为以下两种:
// 只有按键为keyCode的时候才触发 <input type="text" @keyup.keyCode="shout()">
v-bind修饰符主要是为属性进行操作,用来分别有如下:
能对props
进行一个双向绑定
//父组件 <comp :myMessage.sync="bar"></comp> //子组件 this.$emit('update:myMessage',params);
以上这种方法相当于以下的简写
//父亲组件 <comp :myMessage="bar" @update:myMessage="func"></comp> func(e){ this.bar = e; } //子组件js func2(){ this.$emit('update:myMessage',params); }
使用async
需要注意以下两点:
sync
的时候,子组件传递的事件名格式必须为update:value
,其中value
必须与子组件中props
中声明的名称完全一致.sync
修饰符的 v-bind
不能和表达式一起使用v-bind.sync
用在一个字面量的对象上,例如 v-bind.sync=”{ title: doc.title }”
,是无法正常工作的设置自定义标签属性,避免暴露数据,防止污染HTML结构
<input id="uid" title="title1" value="1" :index.prop="index">
将命名变为驼峰命名法,如将 view-Box
属性名转换为 viewBox
<svg :viewBox="viewBox"></svg>
根据每一个修饰符的功能,我们可以得到以下修饰符的应用场景:
以上がVue の修飾子とは何ですか?一般的な修飾子の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。