分享一个可以自动检测是否出现省略号的vue指令
Demo预览:
https://sunzsh.github.io/vue-demos/#/ellipsis
代码 / 文件:
https://github.com/sunzsh/vue-el-demo/blob/master/src/components/trunced.js
https://github.com/sunzsh/vue-el-demo/blob/master/src/views/ellipsis.vue
再给大家分享一个好玩的哈
我不是写了一个这样自动出现省略
号的样式吗
那我现在就想
实时的知道他有没有出现省略号
然后呢我就写了一个指令
用起来特别简单哈
首先呢我们先准备一个变量
就true/false就行了
然后呢
我们就在这个需要监测的这个节点上
加一个
v-trunced
等于这个变量
好我们再来试一下
现在是false对吧
大家看:true
false
包括呢我们改变这个大小
大家看
它也会自动识别
那这个指令怎么用呢
大家就把这个文件放到项目里
然后再main.js里边去把它引进来
然后use一下就可以了
只是呢有一点就是
我依赖了这个类库
来监测这个元素的变化
这个类库大部分框架已经引入(依赖)了
比如说饿了么UI他已经有了
所以如果你用了饿了么UI
你就不用再引一遍了
如果大家项目里没有用饿了么UI
或者其他框架也没有依赖这个类库呢
大家自己安装一下就好了
然后最后啊
再给大家分享几个高级的用法
就是这块也可以绑定一个对象
就是比如说
我这有一个object
然后呢叫sl2(省略2)吧
默认 false
我们绑定这个对象怎么办呢
在这儿写obj
然后呢在这儿写
冒号
sl2(省略2)
然后把它改成obj.sl
我们看一下
现在是false、true
那这个有啥用呢
就是如果你在循环里这个就有用了
比如说这个放item
然后就可以
改变item里边的某一个属性了
然后第二个呢
就是它有可能需要检测它父级的元素
比如说我在这里写一个
span标签
然后呢我现在只能把这个指令啊
放到这里边为什么呢
因为有可能这是一个插槽
我们把这个指令放插头上不起作用
所以呢放到这
放到这怎么办呢我们在这写一个
.parent
这样也是可以的
我们再来试一下
大家看也是没问题的
但如果我把这个parent去掉
大家看它就不不起作用了
因为它监测的就是它这个span标签了
然后这个代码呢
我还是放到这个demo里了
大家需要的话自己来拿
最后更新于
这有帮助吗?