1. 程式人生 > >Framework7+Framework7-vue+vue踩坑記(三)

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-listsortable屬性為true時,通過v-for="item in items"迴圈渲染列表,觸發@sortable:sort事件時,不能對items進行操作,framework7-vuesortable並沒有操作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