共 2 条评论关于"说说Vue.js中vm.$attrs、$listeners的实际用法"
最新评论
$attrs?是不是有点熟悉又略显陌生,萧亚轩的一首《最熟悉的陌生人》送给你,哈哈。看到attr,肯定第一反应,这货就是跟属性东西相关了,我也不知道怎么去给大家接地气的讲解,官方文档说的很拗口,我第一次也没看懂,于是我在网上找到一个很说明问题的案例,相信你一看就知道,哦,原来我们经常用的组件中就是通过这个东西去实现的呀,先看下面一段官方拗口说明
2.4.0 新增,包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class 和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。
官方只是提点,看不懂,云里雾里,什么鬼玩意儿,尤其后面那句可以通过 v-bind="$attrs"传入内部组件,到底是怎么个传法,懵逼。这就要上大谷歌小百度找我们前端界吃饱撑着大们门去发掘解析给我们听了,还真找到个比较经典案例,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <input :tabindex="tabindex" v-if="type !== 'textarea'" class="el-input__inner" v-bind="$attrs" :type="type" :disabled="inputDisabled" :readonly="readonly" :autocomplete="autoComplete || autocomplete" :value="currentValue" ref="input" @compositionstart="handleComposition" @compositionupdate="handleComposition" @compositionend="handleComposition" @input="handleInput" @focus="handleFocus" @blur="handleBlur" @change="handleChange" :aria-label="label" > |
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 | props: { value: [String, Number], size: String, resize: String, form: String, disabled: Boolean, readonly: Boolean, type: { type: String, default: 'text' }, autosize: { type: [Boolean, Object], default: false }, autocomplete: { type: String, default: 'off' }, /** @Deprecated in next major version */ autoComplete: { type: String, validator(val) { process.env.NODE_ENV !== 'production' && console.warn('[Element Warn][Input]\'auto-complete\' property will be deprecated in next major version. please use \'autocomplete\' instead.'); return true; } }, validateEvent: { type: Boolean, default: true }, suffixIcon: String, prefixIcon: String, label: String, clearable: { type: Boolean, default: false }, tabindex: String } |
1 2 | <el-input maxlength="5" minlength="2"> </el-input> |
啊,看到这么大一坨代码,是不是更懵逼,别怕,你别跑,听我说完,这么多代码都是障眼法,我们只看核心。
最后别忘了官方括号那段话,class和style是不会被继承的,用脑子想想就知道,这要是被继承,那还得了,页面不都得乱套了。
上一篇:浅谈Vue.js中v-text,v-html,{{}}之间的异同
最新评论
支付宝扫一扫打赏
微信扫一扫打赏
最近有点勤快哦,高产似母猪!
@万花毕竟我现在也是坐拥千人粉的一方小诸侯,怎可对我忠臣子民失望,哈哈