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

vue 判斷元素內容是否超過寬度的方式

瀏覽:27日期:2022-12-24 11:22:00

我就廢話不多說了,大家還是直接看代碼吧~

let isOverflow = this.$refs.isOverflow;for (let i in isOverflow) { let cWidth = isOverflow[i].clientWidth; let sWidth = isOverflow[i].scrollWidth; if (sWidth > cWidth) { //超過 this.$set(this.isEllipsis, i, true); } else { this.$set(this.isEllipsis, i, false); }}

補充知識:Vue h5 里面如何動態設置返回時候meta 里面的title屬性

Vue h5 里面如何動態設置返回時候meta 里面的title屬性

vue 判斷元素內容是否超過寬度的方式

百度了很多博客,有兩種方法,

方法1 :

通過設置router.js 里面,路由切換時候 修改 meta 屬性 但是感覺沒必要這樣

{ path: ’/teachers’, name: ’TDetail’, component: TDetail, meta: { title:'教師詳情', content: ’disable’ } }, { path: ’/article’, name: ’Article’, component: Article, meta: { title: '文章詳情', content: ’disable-no’ } }, //main.js里面的代碼 router.beforeEach((to, from, next) => { /* 路由發生變化修改頁面meta */ if(to.meta.content){ let head = document.getElementsByTagName(’head’); let meta = document.createElement(’meta’); meta.content = to.meta.content; head[0].appendChild(meta) } /* 路由發生變化修改頁面title */ if (to.meta.title) { document.title = to.meta.title; } next()});

方法2 :

可以直接通過

document.title = ’想要設置的title’;

但是需要注意的是,這種寫法需要注意Vue 里面的生命周期,需要在beforeRouteEnter 里面設置,下面是代碼

beforeRouteEnter (to, from, next) { next(vm => { document.title = ’律師大數據’ }) },

但是開發里面遇到了坑,有時候這種寫法根本不起效果,然后嘗試在 beforeCreate里面也設置了下,最終總結出來的規律是,如果 只在 beforeRouteEnter 修改 document.title = ’想要設置的title’;不起效果的話,那就同時也把 beforeCreate寫進來,這樣肯定是能改變 頁面的 meta 屬性的,下面是代碼

beforeCreate () { document.title = ’111律師大數據’ }, beforeRouteEnter (to, from, next) { next(vm => { document.title = ’律師大數據’ }) },

但是 ,經過打印,實際起效果的是,beforeRouteEnter里面設置的 document.title = ’律師大數據’

以上這篇vue 判斷元素內容是否超過寬度的方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
国产综合久久一区二区三区