Vue.js (2+) directive that clamps the content of an element by adding an ellipsis to it if the content inside is too long.
It uses @clampy-js/clampy library (a fork of Clamp.js) behind the scene to apply the ellipsis.
It automatically re-clamps itself when the element or the browser window change size.
You can install @clampy-js/vue-clampy using NPM or Yarn:
npm install @clampy-js/vue-clampy
yarn install @clampy-js/vue-clampy
<script>
import clampy from '@clampy-js/vue-clampy';
import Vue from 'vue';
Vue.use(clampy);
export default {
name: 'app',
directives: {
clampy
}
};
</script>
<template>
<p v-clampy="3">Long text to clamp here</p>
</template>
You can also override default options globally:
Vue.use(clampy, {
truncationChar: '✂️'
});