亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - Vue 自定義控件v-model雙向綁定

瀏覽:98日期:2023-02-23 13:42:25

問題描述

<currency-input v-model='price'></currency-input>Vue.component(’currency-input’, { template: ’ <span> $ <inputref='input'v-bind:value='value'v-on:input='updateValue($event.target.value)' > </span> ’, props: [’value’], methods: { // 不是直接更新值,而是使用此方法來對輸入值進行格式化和位數限制 updateValue: function (value) { var formattedValue = value// 刪除兩側的空格符.trim()// 保留 2 小數位.slice(0, value.indexOf(’.’) + 3) // 如果值不統一,手動覆蓋以保持一致 if (formattedValue !== value) {this.$refs.input.value = formattedValue } // 通過 input 事件發出數值 this.$emit(’input’, Number(formattedValue)) } }})vue入門指導里的,請問input事件是什么時候觸發的,一旦觸發,`this.$emit(’input’, Number(formattedValue))`不會導致input事件不停被觸發,updateValue循環被調用嗎?

問題解答

回答1:

oninput事件是IE之外的大多數瀏覽器支持的事件,在value改變時觸發,實時的,即每增加或刪除一個字符就會觸發,然而通過js改變value時,卻不會觸發;

所以input是在input里的內容發生變化時觸發的,至于這里的this.$emit(’input’, Number(formattedValue)),事實上這里是發送自定義事件’input’,他是用于父子組件之間的通信的,也就是說這里emit的事件并不會被組件自己捕捉,也就是不會觸發這里的updateValue,你在的<currency-input v-model='price'></currency-input>這里增加一下input的監聽,emit觸發的是這里的,所以不會發送你說的循環調用的情況。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 特黄特a级特别特级特毛片 特黄特黄 | 欧美三级成版人版在线观看 | 久久91综合国产91久久精品 | 久久在线免费观看 | 中国胖女人一级毛片aaaaa | 国产精品永久免费自在线观看 | 日韩欧美在线一区二区三区 | 三级毛片在线免费观看 | 亚洲天码中文字幕第一页 | 亚洲综合小视频 | 国产一区曰韩二区欧美三区 | 久草看片| 国产一区二区久久精品 | 午夜爱爱毛片xxxx视频免费看 | 偷柏自拍亚洲欧美综合在线图 | 国产l精品国产亚洲区久久 国产tv在线 | 久草在线视频免费 | 日韩a一级欧美一级在线播放 | 久草福利资源 | 成人交性视频免费看 | 欧美成人免费高清网站 | 99精品免费观看 | 成年男女免费视频网站 | 成人黄色在线免费观看 | 特级片免费看 | 欧美大片aaa| 日韩精品麻豆 | 久久国产免费一区二区三区 | 日韩色综合 | 步兵社区 | 波多野结衣免费免费视频一区 | 极品美女写真菠萝蜜视频 | 国内精品久久久久影院亚洲 | 国产妇乱子伦视频免费 | 日韩免费一级a毛片在线播放一级 | 亚洲美色综合天天久久综合精品 | 国产亚洲综合精品一区二区三区 | 男女免费视频 | 91久久网| 亚洲欧美日韩国产制服另类 | 草草草在线观看 |