為控制顯示文本的行數,我們一般使用如下的css文件來實現
~~~css
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
~~~
由于該樣式經常要使用,每次使用的時候都要定義就非常不方便,因此可以注冊一個全局的指定 `v-line-clamp`
實現該功能
~~~
<div class="abstract" v-line-clamp="3">{{ item.abstract }}</div>
~~~
修改main.js文件,在創建Vue實例之前,添加以下代碼,實現指令的注冊
~~~
// 注冊一個全局自定義指令 `v-line-clamp`
Vue.directive("line-clamp", {
bind: function(el, binding, vnode) {
el.style["display"] = "-webkit-box";
el.style["-webkit-box-orient"] = "vertical";
el.style["overflow"] = "hidden";
el.style["-webkit-line-clamp"] = binding.value;
},
});
new Vue({
router,
store,
render: (h) => h(App),
}).$mount("#app");
~~~
### 能力提升
閱讀自定義指令相關的文檔,熟悉Vue的高級特性 https://cn.vuejs.org/v2/guide/custom-directive.html
- 文檔說明
- 服務端開發指南
- 客戶端開發指南
- 請求攔截器
- API接口實例分析
- 頁面文件
- NPM包管理
- 創建NPM包項目
- 課程設計
- 概述
- 內容管理系統項目
- 配置開發環境
- 設計靜態原型
- 快速構建項目
- 構建CMS系統前端界面
- 門戶模塊
- 新聞列表
- API接口規范
- 生成模擬數據
- 顯示新聞列表
- NavigatorPath組件
- ChannelHeader組件
- v-line-clamp指令
- formatDate過濾器
- 新聞詳情頁
- 修改頂部導航菜單
- 實現訪問遠程API
- 擴展功能
- 組件開發
- 服務端項目
- 編寫服務模塊
- 項目配置
- 數據庫
- 創建數據庫腳本
- 配置數據庫
- 創建模擬數據
- 新聞模塊控制器
- 添加邏輯驗證層
- 實現接口
- 書棧模塊
- QA