欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用vue開發(fā)移動端管理后臺的注意事項

 更新時間:2019年03月07日 10:36:49   作者:ZJW0215  
這篇文章主要介紹了使用vue開發(fā)移動端管理后臺的注意事項,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

獨立完成一個移動端項目(不是很明白為何會有這樣的商品管理后臺),還是有些經(jīng)驗不足,包括對產(chǎn)品的全局思考,對插件的選擇等,都有考慮不周的缺點,導(dǎo)致自己中途想換圖形界面插件,浪費了點時間,這里記錄下,總結(jié)下經(jīng)驗,理一下思路。

1.對于項目的一些心得與體會

首先的一點,就是,對于圖形界面框架的選型,這個很重要,對于一項目來說,開始動手前就要對項目的設(shè)計圖有個完整的了解,以便于自己選擇插件或者框架;

然后就是,對于交互性操作,比如:上傳圖片,預(yù)覽圖片啥的,應(yīng)該選擇是否是用圖形界面框架來實現(xiàn)還是另選專門的插件來實現(xiàn)

在完成項目中,我又新學(xué)到了上傳圖片插件vue-core-image-upload,移動端富文本編輯器vue-quill-editor

還有個地址的三級聯(lián)動mt-picker,(是基于mint-ui圖形界面框架的)

2.rem與px的轉(zhuǎn)換

從同事傳授中獲到的經(jīng)驗,對于rem與px的轉(zhuǎn)換,就是在index.html模板文件中加入下面的腳本,然后就是1rem=100px(這個可能不準(zhǔn)確,有更好的方法,各位大佬請在評論中留下,感激不盡)

<script type="text/javascript">
 document.getElementsByTagName("html")[0].style.fontSize = 100 / 750 * window.screen.width + "px";
</script>

3.對于上傳圖片插件vue-core-image-upload中遇到的坑

對于跨域問題,有好多方法可以解決,這里講的挺多的前端跨域解決方法

還有就是后臺設(shè)置響應(yīng)頭access-control-allow-origin可以指定特定的域名,我這里的后臺設(shè)置的就是access-control-allow-origin:*,就是因為這樣,用這個上傳圖片的插件就會報錯

Access to XMLHttpRequest at 'https://....' from origin 'http://localhost:8080' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

這個問題我蒙圈了好久,和后臺也講了,就是處于蒙圈狀態(tài),已經(jīng)允許跨域了,怎么還報錯呢?很煩

然后,終于找了個方法解決(有用過其他的上傳插件,感覺不好用,代碼或者思路好亂)

其實這個插件中的文檔也有提示,只是剛用,還不是很會

就是在使用這個插件的代碼中加上這個字段就可以了

<vue-core-image-upload
  class="btn btn-primary"
  :crop="false"
  input-of-file="file"
  @imageuploaded="loadMainImg"
  :max-file-size="5242880"
  :url="serverUrl"
  :credentials="false" //允許攜帶cookie
></vue-core-image-upload>

對于附帶身份憑證的請求,服務(wù)器不得設(shè)置 Access-Control-Allow-Origin 的值為“”。這是因為請求的首部中攜帶了 Cookie 信息,如果 Access-Control-Allow-Origin 的值為“”,請求將會失敗。

也就是說Access-Control-Allow-Credentials設(shè)置為true的情況下

Access-Control-Allow-Origin不能設(shè)置為*

4.基于mint-ui的三級地址選擇效果圖

template文件

<div class="modal" @click="handleCloseAddress">
 <div class="cateContainer" @click.stop>
  <div class="operateBtn">
   <div class="cancelBtn" @click="handleCloseAddress">取消</div>
   <div class="confirmBtn" @click="handleCloseAddress">確定</div>
  </div>
  <mt-picker class="addressPicker" :slots="myAddressSlots" @change="onAddressChange"></mt-picker>
 </div>
</div>

js文件

json文件地址地址文件

// 定義一個包含中國省市區(qū)信息的json文件
import addressJson from '@/assets/common/address'
export default {
  data() {
    return {
      myAddressSlots: [
       {
        flex: 1,
        values: Object.keys(addressJson),
        className: 'slot1',
        textAlign: 'center'
       }, {
        divider: true,
        content: '-',
        className: 'slot2'
       }, {
        flex: 1,
        values: ['市轄區(qū)'],
        className: 'slot3',
        textAlign: 'center'
       },
       {
        divider: true,
        content: '-',
        className: 'slot4'
       },
       {
        flex: 1,
        values: ['東城區(qū)'],
        className: 'slot5',
        textAlign: 'center'
       }
      ],
      province:'省',
      city:'市',
      county:'區(qū)/縣',
    }
  },
  methods: {
    onAddressChange(picker, values) {
      if(addressJson[values[0]]) {
       picker.setSlotValues(1, Object.keys(addressJson[values[0]]));
       picker.setSlotValues(2, addressJson[values[0]][values[1]]);
       this.province = values[0];
       this.city = values[1];
       this.county = values[2];
      }
   },
  }
}

5.關(guān)于對是否登錄的處理

開始也有做過登錄的管理后臺,不過,在進(jìn)行登錄時,總會一閃過登錄的界面,這種感覺很不好,在這里記錄下相比之前更好點的方法

在main.js文件中添加對router的鉤子函數(shù)

router.beforeEach((to, from, next) => {
 let token = localStorage.getItem('token');
 if (!token && to.path !== '/login') {
  next('/login');
 } else {
  next();
 }
});

通過判斷緩存里是否有token來進(jìn)行路由的跳轉(zhuǎn)

相對于之前的那種方法,這里對路由的跳轉(zhuǎn)進(jìn)行的攔截,在路由進(jìn)行跳轉(zhuǎn)前,進(jìn)行判斷

6.上拉加載mescroll.js插件

這里對于分頁加載第二頁使用的上拉加載的插件還是用了原來的插件,還是感覺挺好用的

這里有講述上拉加載,下拉刷新,滾動無限加載

7.移動端富文本插件Vue-Quill-Editor

效果圖

這里有相關(guān)案例代碼vue-quill-editor

<template>
  <quill-editor
   v-model="richTextContent"
   ref="myQuillEditor"
   :options="editorOption"
   @change="onEditorChange($event)">
  </quill-editor>
</template>
<script>
 import { quillEditor } from "vue-quill-editor";
 import 'quill/dist/quill.core.css';
 import 'quill/dist/quill.snow.css';
 import 'quill/dist/quill.bubble.css';
  export default{
    data() {
      return {}
    },
    methods: {
      onEditorChange(e) {}
    }
  }
</script>

響應(yīng)事件

onEditorChange(e){
  console.log(e)
  this.richTextContent = e.html;
},

8.移動端圖片預(yù)覽插件

vue-picture-preview

<img :src="url" v-preview="url" preview-nav-enable="false" />

需要在app.vue中加入如下代碼

<lg-preview></lg-preview>

效果圖


代碼挺少的

9.總結(jié)

  • 在以后的項目中,首先的一件事就是要對產(chǎn)品要有完成的了解,然后進(jìn)行技術(shù)、框架的選型
  • 對于插件,自己多嘗試才能知道是否符合你的要求

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue利用插件實現(xiàn)打印功能的示例詳解

    Vue利用插件實現(xiàn)打印功能的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Vue如何利用vue-print-nb插件實現(xiàn)打印功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)一下
    2023-03-03
  • Vue3使用時應(yīng)避免的10個錯誤總結(jié)

    Vue3使用時應(yīng)避免的10個錯誤總結(jié)

    Vue?3已經(jīng)穩(wěn)定了相當(dāng)長一段時間了。許多代碼庫都在生產(chǎn)環(huán)境中使用它,其他人最終都將不得不遷移到Vue?3。我現(xiàn)在有機(jī)會使用它并記錄了我的錯誤,下面這些錯誤你可能想要避免
    2023-03-03
  • vue如何使用vue slot封裝公共組件

    vue如何使用vue slot封裝公共組件

    這篇文章主要介紹了vue如何使用vue slot封裝公共組件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 關(guān)于Vue中的watch監(jiān)視屬性

    關(guān)于Vue中的watch監(jiān)視屬性

    這篇文章主要介紹了關(guān)于Vue中的watch監(jiān)視屬性,Vue中的watch默認(rèn)不監(jiān)視對象內(nèi)部值的改變,當(dāng)被監(jiān)視的屬性變化時,回調(diào)函數(shù)自動調(diào)用,進(jìn)行相關(guān)操作,需要的朋友可以參考下
    2023-04-04
  • 詳解vue-cli 2.0配置文件(小結(jié))

    詳解vue-cli 2.0配置文件(小結(jié))

    這篇文章主要介紹了詳解vue-cli 2.0配置文件(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Vue中添加滾動事件設(shè)置的方法詳解

    Vue中添加滾動事件設(shè)置的方法詳解

    這篇文章主要給大家介紹了關(guān)于Vue中添加滾動事件設(shè)置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • vue中添加mp3音頻文件的方法

    vue中添加mp3音頻文件的方法

    本篇文章主要介紹了vue中添加mp3音頻文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 深入理解Vue 的鉤子函數(shù)

    深入理解Vue 的鉤子函數(shù)

    這篇文章主要介紹了Vue 的鉤子函數(shù),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • Vuex管理dialog、toast等常見全局性組件狀態(tài)時唯一性的問題解決

    Vuex管理dialog、toast等常見全局性組件狀態(tài)時唯一性的問題解決

    工作中經(jīng)常會用到類似于?dialog、toast、popover?等一些狀態(tài)提示組件,這篇文章主要介紹了Vuex管理dialog、toast等常見全局性組件狀態(tài)時唯一性的問題,需要的朋友可以參考下
    2022-11-11
  • vue3引入Element-plus的詳細(xì)步驟記錄

    vue3引入Element-plus的詳細(xì)步驟記錄

    Element Plus是為適配Vue3而對Element UI進(jìn)行重構(gòu)后產(chǎn)生的前端組件庫,包含豐富的基礎(chǔ)組件,下面這篇文章主要給大家介紹了關(guān)于vue3引入Element-plus的相關(guān)資料,需要的朋友可以參考下
    2022-04-04

最新評論