slot vue 怎麼用專題及常見問題 - CSDN

2020-12-24 CSDN技術社區

總結所做所學

這周做的是一個學長布置的類京東商品列表頁和商品詳情頁,還有很多不懂,沒有全部完成,先把做了什麼,學了什麼,怎麼用組件等小小的記錄一下。不多說

vant 搜索框組件slot使用

可見slot要加template使用

<van-sticky> <van-search v-model="value" placeholder="請輸入搜索關鍵詞" input-align="left" shape="round" background="#0D803D" > <template v-slot:left> <van-icon class="icon-left" name="arrow-left" size="1.7rem" color="white" /> </template> </van-search>

vant組件引入方法
在main.js中引入

import Vant from 'vant'import 'vant/lib/index.css'Vue.use(Vant)

在vue頁面引入

import { Icon, Search, Tab, Tabs, Sticky, Popup } from 'vant'export default { name: 'Search', components: { [Icon.name]: Icon, [Search.name]: Search, [Tab.name]: Tab, [Tabs.name]: Tabs, [Sticky.name]: Sticky, [Popup.name]: Popup, Brand } }

單選

綁定class名為 syntChecked 通過點擊事件將index傳入data中的 selectIndex,噹噹前的index與點擊的index相同時顯示樣式,其他的則不顯示

<ul> <li :class="{ syntChecked: index === selectIndex }" v-for="(item, index) of syntList" :key="index" @click="SyntCheck(item, index)" >{{ item }}<span v-show="index === selectIndex" class="iconfont">&#xe668;</span></li></ul>

多選

綁定樣式通過 xxx.includes() 判斷數組中是否存在該元素,存在時返回true,從而顯示樣式

<span :class="{rightChecked: checkedList.includes(innerItem)}" @click="RightCheck(innerItem)">{{ innerItem }}</span>

通過點擊事件將當前所選內容傳入數組,如果已存在,則通過indexOf獲取所在位置index,通過數組的splice方法刪除從而改變樣式

RightCheck (item) { if (!this.checkedList.includes(item)) { this.checkedList.push(item) } else { var index = this.checkedList.indexOf(item) this.checkedList.splice(index, 1) }}

布局小技巧

通過使用flex布局和在select-item離添加width: 100%可以使當綜合換成字更多的 評價最多 時布局不發生改變

.select-bar { padding: 0.8rem 0.3rem; display: flex; justify-content: space-around; background: white; .select-item { width: 100%; text-align: center; display: inline-block; line-height: 0.625rem; font-family: PingFangSC-Regular; font-size: 0.625rem; color: #999999; letter-spacing: 0; } .select-item:first-child { color: #0D803D; } .select-item:last-child { border-left: 1px solid #999999; color: #0D803D; }}

帶右箭頭的欄

<div class="discount"> <span class="discount-title">優惠</span> <span class="discount-lable">活動預告</span> <span class="discount-desc">08月26日00:00滿兩件,總價打9折</span> <div class="icon-container"><span class="iconfont">&#xe652;</span></div></div>

.discount { position: relative; margin: 1rem 0.5rem; display: flex; align-items: center; span { vertical-align: middle; } .discount-title { font-family: PingFangSC-Semibold; font-size: 0.875rem; color: #333333; letter-spacing: 0; font-weight: bold; margin-right: 0.5rem; } .discount-lable { padding: 0.1rem; background: #e7d3d3; font-family: PingFangSC-Regular; font-size: 0.625rem; color: #D92B2B; letter-spacing: 0; line-height: 0.75rem; border-radius: 0.25rem; margin: 0 0.5rem; } .discount-desc { font-family: PingFangSC-Regular; font-size: 0.75rem; color: #666666; letter-spacing: 0; line-height: 1rem; }}.icon-container { display: flex; align-items: center; height: 100%; position: absolute; right: 0; .iconfont { color: #afafaf; font-size: 0.625rem; }}

橫向滾動

<div class="lable-bar"> <span class="lable-item">返紅包</span> <span class="lable-item" @click="DropDown">品牌<span class="iconfont arrow-down">&#xe658;</span></span> <span class="lable-item">面部防護<span class="iconfont arrow-down">&#xe658;</span></span> <span class="lable-item">面部防護<span class="iconfont arrow-down">&#xe658;</span></span></div>

.lable-bar { background: white; padding: 0.8rem 0.4rem; overflow-x: scroll; white-space: nowrap; .lable-item { margin-left: 0.4rem; padding: 0.4rem 1.2rem; font-family: PingFangSC-Regular; font-size: 0.75rem; color: #666666; letter-spacing: 0; line-height: 1rem; background: rgba(0,0,0,0.03); border-radius: 0.875rem; .arrow-down { font-size: 0.625rem; } }}

下一步計劃

解決手寫彈窗和遮罩問題

相關焦點

  • slot vue 用法專題及常見問題 - CSDN
    從一個簡單的例子開始:// frame.vue這個組件最外層是一個div。假設div的存在是為了圍繞其內容創建一個樣式框架。這個組件可以通用地用於將框架包圍在wq你想要的任何內容上,來看看它是怎麼用的。這裡的frame組件指的是我們剛才做的組件。
  • slot-scope專題及常見問題 - CSDN
    前言vue 插槽,目前到3.0有2種方式,第一種,在2.6之前使用的是slot 和 slot-scpe 2.6後已被官方廢棄,但在2.x版本仍被支持,第二種是vue 在2.6版本後更新的新指令 v-slot 來替代slot 和slot-scpe那麼什麼是插槽呢,作用又是什麼插槽,簡單說,插槽就是杯子
  • slot vue - CSDN
    Reference Listhttps://cn.vuejs.org/v2/guide/components-slots.htmlSlot的作用語法小提示:由slot的標籤就是子組件,有
  • slot - slot命名 vue - CSDN
    gt;<slot></slot><slot  style=」color:blue;」 >這是在slot上添加了樣式</slot><slot  name=」mySlot」>這是擁有命名的slot的默認內容</slot></div></template>會輸出:
  • vue的插槽用法 - CSDN
    插槽簡介(1) 插槽就是子組件中的提供給父組件使用的一個佔位符,用<slot></slot> 表示,父組件可以在這個佔位符中填充任何模板代碼,如 HTML、組件等,填充的內容會替換子組件的<slot></slot>標籤。
  • v-html vue 模板替換 - CSDN
    插槽就是子組件中的提供給父組件使用的一個佔位符,用 表示,父組件可以在這個佔位符中填充任何模板代碼,如 HTML、組件等,填充的內容會替換子組件的標籤。再來個例子加深印象slot的用法可以分為三類,分別是默認插槽、具名插槽、作用域插槽子組件中:插槽用 <slot> 標籤來確定渲染的位置,裡面放如果父組件沒傳內容時的後備內容具名插槽用name
  • vue中標籤上的slot - CSDN
    插槽,也就是slot,是組件的一塊HTML模板,這塊模板顯示不顯示、以及怎樣顯示由父組件來決定。 實際上,一個slot最核心的兩個問題這裡就點出來了,是顯示不顯示和怎樣顯示。3.組件中的所有內容 圈起來內容  會替換掉slot插槽標籤
  • 對抗學習專題及常見問題 - CSDN
    那麼就是通過反覆加減對抗樣本製作時用的梯度,不斷詢問目標模型這些樣本的分類,從而使得雖然替代模型本身準確率不高,但梯度cost gradient sign matrix與其相關性高,做對抗樣本時輕鬆搞死原模型。而防禦方法對這種黑盒攻擊反而更沒有什麼用,因為原本模型裡的梯度只是被遮蔽mask了而不是消失。
  • android 監聽屏幕鎖屏專題及常見問題 - CSDN
    > 鎖屏聽音樂(音頻),沒有鎖屏看視頻Android系統亮屏、鎖屏、屏幕解鎖事件(解決部分手機亮屏後未解鎖即進入resume狀態)- http://blog.csdn.net/oracleot/article/details/20378453Android 實現鎖屏的較完美方案- https://segmentfault.com/a/1190000003075989
  • Vue.js布局
    動態Vue.js布局組件前言vue.js是漸進增強的視圖庫,可以作為.html頁面部分使用,也可以結合vue-router、vuex、axios用來構建單頁面或多頁面應用。
  • vue的echarts數據管理系統 - CSDN
    哎呀,公司非要用vue做後臺管理系統。我也是第一次做這種類型的項目,然後大家都知道的,後臺管理系統不可或缺的就是數據統計圖和表格了對於走勢圖部分,我用的echarts;在vue中用echarts的步驟:一:npm install echarts --save 在本地目錄安裝echarts 二:在需要的組件中引入echarts     import
  • VUE 項目如何快速優化?|原力計劃
    作者 | 靖凡無所畏懼責編 | 屠敏出品 | CSDN 博客前言相信現在很多人都是用Vue做過了各種項目,但是項目代碼做完和上線並不代表這結束,還有上線以後的優化也是很重要的一點,這次的博客就來給大家說一下如何優化一下Vue的項目,讓你的項目打包和運行速度更上一個臺階
  • android啟動頁設計專題及常見問題 - CSDN
    轉載請註明出處:http://blog.csdn.net/wangjihuanghun/article/details/63255144啟動頁幾乎成為了每個app的標配,有些商家在啟動頁中增加了開屏廣告以此帶來更多的收入。
  • vue 禁止頁面縮放 - CSDN
    將meta標籤修改為如下,即可禁止vue項目在APP放大縮小<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name=
  • cdn助力專題及常見問題 - CSDN
    本次騰訊雲大學大咖分享《騰訊雲計算人才加速計劃》專題之《CDN邊緣智能助力5G》邀請騰訊雲專家工程師 廖龍 將與大家共探技術與產業發展變化下如何引領時代。本課程主要有三章:5G元年,探索與思考,未來展望。5G元年在過去十年,整個中國網際網路的發展迅速。
  • windows10卡啟動修復專題及常見問題 - CSDN
    在Windows 10上,安全模式允許加載一組基本功能和通用設備驅動程序,足以解決常見的軟體和硬體問題。例如,當計算機無法正常啟動、網絡連接問題以及應用程式或Windows Update無法下載更新時,可以使用安全模式對其進行故障排除。
  • 怎麼使用vue中的實例屬性vm.$data
    ElementJavaScript在vue中,vm.那麼,這個實例屬性怎麼使用?1、打開HBuilderX工具,創建vue項目,然後在src/components新建vue文件DataAtrr.vue新建vue文件DataAtrr.vue2、使用命令npm i element-ui -S安裝Element,然後打開main.js文件,引入Element的樣式和模塊
  • bootstrap 用什麼布局專題及常見問題 - CSDN
    以前的網頁製作布局用的是tabel布局,通過把表格將網頁分為大大小小的表格,再從表格中填充元素。後來發展為div+css布局。通過div+css浮動。flaot:right和float:left.布局。現在bootstrap運用的是柵格布局。簡單來說就是把一行分為12個柵格。將12個柵格分配給不同的DIV元素來進行布局。2.如何實現柵格布局?
  • Vue的異步更新實現原理
    最近面試總是會被問到這麼一個問題:在使用vue的時候,將for循環中聲明的變量i從1增加到100,然後將i展示到頁面上,頁面上的i是從1跳到100,還是會怎樣?答案當然是只會顯示100,並不會有跳轉的過程。怎麼可以讓頁面上有從1到100顯示的過程呢,就是用setTimeout或者Promise.then等方法去模擬。
  • 華為雲工業網際網路專題及常見問題 - CSDN
    其次,一定要明確智慧財產權和保護商業機密,讓企業放心,這點做不到,誰願意和你玩呢,誰敢和你玩呢,又怎麼能放心呢?再次,應該實事求是的宣傳功效,解決客戶實際問題,筆者很認同這一點,事實上核心的技術是要來解決實際問題的,而不是用來造概念或做秀的。最後是需要堅持開放的平臺,積極汲取全世界產業界先進的工具和能力。