Framework7+Framework7-vue+vue踩坑記(三)
1. Notification
元件
framework7-vue
沒有該元件,使用framework7
的方式實現,程式碼如下:
this.$f7.addNotification({
title: 'Framework7',
message: 'This is a simple notification message with title and message'
})
2. picker
元件
framework7-vue
沒有該元件,使用framework7
的方式實現,程式碼如下:
<f7-list form>
<f7-list-item>
<f7-input type="text" placeholder="Your iOS device" id="picker-device">
</f7-input>
</f7-list-item>
</f7-list>
<script>
export default {
mounted () {
let pickerDevice = this.$f7.picker({
input: '#picker-device',
cols: [
{
textAlign: 'center',
values : [
'iPhone 4',
'iPhone 4S',
'iPhone 5',
'iPhone 5S',
'iPhone 6',
'iPhone 6 Plus',
'iPad 2',
'iPad Retina',
'iPad Air',
'iPad mini',
'iPad mini2',
'iPad mini3' ]
}
]
})
}
}
</script>
3. 下拉重新整理
下拉重新整理是在f7-page
中加上pull-to-refresh
,以下是程式碼實現:
<template>
<f7-page pull-to-refresh @ptr:refresh="onRefresh">
<f7-navbar title="Pull To Refresh" back-link="Back" slding>
<f7-nav-right>
<f7-link icon="icon icon-bars" open-panel="left"></f7-link>
</f7-nav-right>
</f7-navbar>
<f7-list media-list>
<f7-list-item v-for="item in items"
:media="item.media"
:title="item.title"
:subtitle="item.subtitle"
></f7-list-item>
<f7-list-label>
<p>
<div>Just pull page down to let the magic happen.</div>
<div>
Note that pull-to-refresh feature is optimised for
touch and native scrolling so it may not work on
desktop browser.
</div>
</p>
</f7-list-label>
</f7-list>
</f7-page>
</template>
<script>
export default {
data () {
return {
items: [
{
media: '![](./static/image/photo12.jpg)',
title: 'Yellow Submarie',
subtitle: 'Beatles'
}, {
media: '![](./static/image/photo13.jpg)',
title: 'Don\'t Stop Me Now',
subtitle: 'Queen'
}, {
media: '![](./static/image/photo14.jpg)',
title: 'Billie Jean',
subtitle: 'Michael Jackson'
}
]
}
},
methods: {
onRefresh: function () {
let self = this
setTimeout(function () {
let songs = [
'Yellow Submarine',
'Don\'t Stop Me Now',
'Billie Jean',
'Californication'
]
let authors = [
'Beatles',
'Queen',
'Michael Jackson',
'Red Hot Chili Peppers'
]
let item = {
media: '<img src="./static/image/photo' +
Math.floor(Math.random() * 14) +
'.jpg" width="44" />',
title: songs[Math.floor(Math.random() * songs.length)],
subtitle: authors[Math.floor(Math.random() * authors.length)]
}
self.items.unshift(item)
self.$f7.pullToRefreshDone()
}, 2000)
}
}
}
</script>
4. View
間連結
將在 left view
中的連結載入的頁面放進 main view
中,在 a
標籤上加上 data-view="###"
(###為css選擇器)即可
5. sortable list
在f7-list
的sortable
屬性為true
時,通過v-for="item in items"
迴圈渲染列表,觸發@sortable:sort
事件時,不能對items
進行操作,framework7-vue
中sortable
並沒有操作items
,而是對Dom樹
的操作,而v-for
是先完成virtual dom樹
的修改再比對修改前的virtual dom樹
,然後對Dom樹
只修改變化的部分,而不是重排,這樣會導致Dom樹
的列表又再一次按照我們之前的操作排列一次
6. f7-swiper
該元件使用nested
佈局時無法正常顯示導航條,使用原生實現,主要是該vue元件
將f7-swiper
中的內容全放到.swiper-wrapper
中,因此就算自定義導航條的css選擇器
也無法正常顯示
至此,官網的demo已重構完畢,目前發現的需要注意的點就這些。
使用 framework7-vue
重構後的專案地址:vue-framework7,歡迎star
專案初始化時,
framework7
的引數中,cache
設定為false
無效,原因未知。
相關推薦
Framework7+Framework7-vue+vue踩坑記(三)
1. Notification元件 framework7-vue沒有該元件,使用framework7的方式實現,程式碼如下: this.$f7.addNotification({ title: 'Framework7', message: 'This is a si
Spring boot 初步踩坑記(一)
初步使用spring boot + mybatis 組合,然而在eclipse 內執行 妥妥的 一點的問題都沒有。打包成jar 和war ,執行時,報錯: Field XXXXin XXXX.DemoApplication required a bean of type
十年老蘋果(A1286)強升Catalina及Win10踩坑記(續)
## 背景 自上次釋出[十年老蘋果(A1286)強升Catalina及Win10踩坑記](https://www.cnblogs.com/qushuiliushang/p/13272053.html)以來,因為後半部分—————系統安裝上的細節描述過於簡略,一些朋友在安裝過程中總是又遇到坑,由此特意詳述這一過
Cygwin踩坑記錄(三)-tar命令解壓.zip檔案提示“gzip: stdin has more than one entry--rest ignored”
當我從Activiti6.0 GitHub上下載下來.zip的原始碼的時候,打算用tar命令解壓檔案 結果報錯提示: 造成錯誤的原因是因為tar的底層間接呼叫了gzip,而gzip的使用是有限
SpringCloud踩坑筆記(三)-------服務註冊與消費
本文建立在上一篇文章《SpringCloud踩坑筆記(二)-------Eureka》之上。啟動 Eureka Server 之後,我們將註冊一個服務到 Eureka Server 中,然後嘗試去消費它。 一、建立服務提供者
阿里雲伺服器搭建 踩坑日誌(三) 修改作業系統為linux
之前購買時設定作業系統是windows的,現在因為要安裝的檔案伺服器fastFDS只支援linux的,只好把作業系統改為linux的。 1、更換系統盤 具體操作的方法參考 阿里文件: https://help.aliyun.com/document_detail/25436.html?s
SpringBoot踩坑指南(三):Could not find acceptable representation原因及解決方法
Spring Boot:Could not find acceptable representation原因方法名跟頁面、js重合了!!!解決辦法:改名字,儘量不要重合。例子:① html的名字 s
小程式踩坑日誌(三)----Labrador
小程式模組化開發框架—–Labrador 之前一直用的微信開發者工具去直接修改程式碼,倒不是說這樣不行,就是不太友好,目錄結構混亂,邏輯不清晰,身為開發者,我有時候都會混淆一些東西,更何況團隊開發, 所以不建議使用微信開發工具去直接修改程式碼,今天在網上
Vue.js 踩坑記 (四)
要開發還得選好IDE,我推薦使用 Visual Studio Code,下面看看怎麼除錯。試著除錯 node.js 的 程式碼還是上篇那段 const http = require('http');const hostname = '127.0.0.1';const port
vue + Echarts 填坑記(Echarts資料量大,導致瀏覽器卡頓)
最近使用vue + Echarts 實現vue專案的資料視覺化功能的時候,發現隨著元件的增多,元件裡Echarts繪圖的增多,頁面操作越來越卡頓,點選資料比較大的元件時,Echarts繪圖渲染頁面的速度倒是挺快,但是當我點選切換其他元件統計圖時,出現了讓人難以忍受的卡頓,有
vue.js踩坑記
1、報錯:Component template should contain exactly one root element. 背景:使用webpack和單檔案元件,執行npm run dev報錯
react native踩坑記(建立指定的React-Native版本)
建立指定的React-Native版本 剛剛開始學習React Native,很多都不懂,搭建環境的時候遇到了挺多問題的,一直在折騰。 我是按照React Native文件來搭建環境的,安裝react-native-cli使用的是下面的命令。 npm in
weex 踩坑記(持續更新中……)
消失了一個月,努力為新專案倒騰 weex 中,記錄一下遇到的問題。之後還會持續更新~ 目前,我使用的 weex 都是在整合Weex到Android來做的,專案使用的是 weex-toolkit
一個簡單的百度貼吧爬蟲&&百度搜索爬蟲&&模擬登入菜鳥踩坑記(requests、lxml)
這幾天在學爬蟲,試了下簡單的,不涉及scrapy框架,庫用的lxml、requests,python3,不涉及網頁介面互動。 1、百度貼吧爬蟲 爬取貼吧貼子標題、發貼人資訊(性別、關注貼吧)等,後來根據資料做了個詞雲,程式碼跟詞雲戳下: import os import
launcher項目踩坑小結(1)
param change load 分頁 turn start eight image span launcher是一個安卓端的活動頁面。它在pc端的形式則是由資源,桌面和發布三大板塊組成。其中資源部分則是由素材圖片,APK資源,網頁資源和圖片資源四個頁面組成。 在完成素材
基於Html5 Plus + Vue + Mui 移動App開發(三)-文件操作(讀取、保存、更新數據)
mes das parse 移動 分享 gif ont 包括 ole 實全資訊采用基於Html5 Plus + Vue + Mui 移動App。主要實現功能包括: 實現搜索站點設置 實現搜索關鍵字定義 實現搜索資訊保存、刪除功能。 主界面實現關鍵字搜
webpack踩坑記錄(一)
有著 安裝webpack package 頁面 如圖所示 ins 部分 二次 令行 博客還是要簡單記錄一下的,美劇看完了,於是決定學習,想起來webpack還沒學啊,大物就先放一放,然後就開始找教程,慕課上某免費視頻。 那webpack是啥呢? 如圖所示: 是不
ffmpeg 踩坑實錄(二)
時間 如果 .com http 一個 要求 test 兩個 效率問題 一、背景介紹 最近領導要求做一個視頻錄制的相關項目。其中,需要對視頻文件進行添加 實時時間水印。於是,我想到了使用之前的ffmpeg來做。 二、ffmpeg實際操作 首先把需要添
ionic3踩坑體驗(一)絮叨
title: ionic3踩坑體驗(一)絮叨 date: 2018-02-01 22:54:09 tags: ionic --- ionic3踩坑體驗(一)絮叨 首先,所謂‘踩坑’,並不是說一定是什麼ionic使用的難點、痛點,只是遇到什麼問題,解決了想起來了就一下。 為什麼第一篇題目叫絮叨呢?
踩坑經歷(一)BigDecimal如何比較大小
案例 BigDecimal a=BigDecimal.valueOf(1.0); BigDecimal b=BigDecimal.valueOf(1.000); 比較大小 if(a.compareTo(b)==0) JDK原始碼 public int