最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE實現(xiàn)Studio管理后臺之鼠標(biāo)拖放改變窗口大小

 更新時間:2020年03月04日 16:09:59   作者:悠閑的水  
這篇文章主要介紹了VUE實現(xiàn)Studio管理后臺之鼠標(biāo)拖放改變窗口大小 的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的工作或?qū)W習(xí)具有一定的參考價值,需要的朋友可以參考下

近期改版RXEditor,把改版過程,用到的技術(shù)點,記錄下來。昨天完成了靜態(tài)頁面的制作,制作過程并未詳細(xì)記錄,后期已經(jīng)不愿再補了,有些遺憾。不過工作成果完整保留在github上,地址:https://github.com/vularsoft/studio-ui

這個項目下面的html-demo.html,便是靜態(tài)文件。

話不多說,今天就把昨天的HTML轉(zhuǎn)化成VUE。

先看效果:

布局原理

頁面采用純彈性盒子flex box布局,無float postion等,頁面分成如下幾個區(qū)域:

細(xì)實線描述的是各個DIV之間的嵌套關(guān)系,粗黑線是獨立的DIV,我稱它們?yōu)榘咽郑℉ADLE),主要用來接受鼠標(biāo)拖動事件,以完成拖動操作。handle非為兩種,橫向x-handle,縱向y-handle,css中定義x-handle寬度為3px,高度為100%,y-handle高度為3px,寬度為100%,鼠標(biāo)光標(biāo)也相應(yīng)設(shè)置一下:

.vular-studio .x-handle{
 width: 3px;
 cursor: w-resize;
 z-index: 10;
}

.vular-studio .y-handle{
 height: 3px;
 cursor: s-resize;
 z-index: 10;
}

拖動原理

帶有把手的區(qū)域固定大?。ü潭▽挾然蛘吒叨龋粠О咽值牟糠指S彈性盒子變化。把手handle是一個獨立的VUE組件,它把拖動信息傳遞給父窗口,父窗口改變自身大小。以bottom-area為例,這是一個可以改變自身大小的DIV:

<template>
 <div class="bottom-area" :style="{height:height + 'px'}">
 <YHandle @heightChange="heightChange"></YHandle>
 <div class="bottom-inner">
  <slot></slot>
 </div>
 </div>
</template>

<script>
import YHandle from './YHandle.vue'
export default {
 name: 'BottomArea',
 components:{
 YHandle,
 },
 data () {
 return {
  height:220,
 }
 },
 methods: {
 heightChange(movement){
  this.height += movement
  if(this.height < 30){
  this.height = 30
  }
  if(this.height > 600){
  this.height = 600
  }
 },
 },
}
</script>

它對應(yīng)的把手代碼:

<template>
 <div class="y-handle" 
 @mousedown="mouseDown" 
 ></div>
</template>

<script>
export default {
 name: 'YHandle',
 data () {
 return {
  lastY:''
 }
 },

 created () {
 document.addEventListener('mouseup', this.mouseUp)
 },

 destroyed() {
 document.removeEventListener('mouseup', this.mouseUp)
 },


 methods: {
 mouseDown(event){
  document.addEventListener('mousemove', this.mouseMove)
  this.lastY = event.screenY
 },
 mouseMove(event){
  console.log('move')
  this.$emit('heightChange', this.lastY - event.screenY)
  this.lastY = event.screenY
 },
 mouseUp(event){
  this.lastY = ''
  document.removeEventListener('mousemove', this.mouseMove)
 },
 },
}
</script>

制作步驟

先建一個VUE項目:
1、安裝node
2、安裝webpack
3、安裝VUE
4、新建VUE項目:vue init webpack-simple
5、根據(jù)相應(yīng)布局制作VUE組件
具體代碼,請參考:https://github.com/vularsoft/studio-ui,根據(jù)標(biāo)注,獲取相應(yīng)的版本記錄即可。

到此這篇關(guān)于VUE實現(xiàn)Studio管理后臺之鼠標(biāo)拖放改變窗口大小 的文章就介紹到這了,更多相關(guān)vue 鼠標(biāo)拖放改變窗口大小 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何使用vue開發(fā)公眾號網(wǎng)頁

    如何使用vue開發(fā)公眾號網(wǎng)頁

    因為項目需要,近期做了一個公眾號網(wǎng)頁開發(fā)。在此期間也踩了一些坑,解決這些坑之后,準(zhǔn)備對這個項目進(jìn)行復(fù)盤。記錄下項目從開發(fā)到上線所解決的問題,并對使用vue進(jìn)行公眾號開發(fā)的步驟進(jìn)行一個總結(jié)。方便以后有問題進(jìn)行查閱。希望對你有所幫助
    2021-05-05
  • 解決vue 給window添加和移除resize事件遇到的坑

    解決vue 給window添加和移除resize事件遇到的坑

    這篇文章主要介紹了解決vue 給window添加和移除resize事件遇到的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue el-form-item如何添加icon和tooltip

    vue el-form-item如何添加icon和tooltip

    這篇文章主要介紹了vue el-form-item如何添加icon和tooltip問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vuejs第十二篇之動態(tài)組件全面解析

    Vuejs第十二篇之動態(tài)組件全面解析

    組件(Component)是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用的代碼。接下來通過本文給大家介紹Vuejs第十二篇之動態(tài)組件,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • vue.js?Table?組件自定義列寬實現(xiàn)核心方法

    vue.js?Table?組件自定義列寬實現(xiàn)核心方法

    這篇文章主要介紹了vue.js?Table?組件自定義列寬實現(xiàn)核心方法,文圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • iview table高度動態(tài)設(shè)置方法

    iview table高度動態(tài)設(shè)置方法

    下面小編就為大家分享一篇iview table高度動態(tài)設(shè)置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Element UI 自定義正則表達(dá)式驗證方法

    Element UI 自定義正則表達(dá)式驗證方法

    今天小編就為大家分享一篇Element UI 自定義正則表達(dá)式驗證方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vite.config.ts如何加載.env環(huán)境變量

    vite.config.ts如何加載.env環(huán)境變量

    這篇文章主要介紹了vite.config.ts加載.env環(huán)境變量方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vuex如何重置所有state(可定制)

    vuex如何重置所有state(可定制)

    在正式場景中我們經(jīng)常遇到一個問題,就是登出頁面或其他操作的時候,我們需要重置所有的vuex,讓其變?yōu)槌跏紶顟B(tài),那么如何重置呢,下面就跟隨小編一起來了解一下
    2019-01-01
  • 解決vue-cli項目webpack打包后iconfont文件路徑的問題

    解決vue-cli項目webpack打包后iconfont文件路徑的問題

    今天小編就為大家分享一篇解決vue-cli項目webpack打包后iconfont文件路徑的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09

最新評論

探索| 喜德县| 读书| 虹口区| 泸州市| 霍山县| 墨玉县| 郸城县| 上饶市| 施秉县| 梧州市| 定州市| 莒南县| 高淳县| 凤山县| 永新县| 垣曲县| 安宁市| 龙岩市| 天气| 铁岭县| 榆中县| 图木舒克市| 苗栗县| 宜春市| 绥宁县| 长阳| 南阳市| 财经| 休宁县| 广昌县| 安福县| 石城县| 嫩江县| 耒阳市| 洛川县| 二连浩特市| 铁岭市| 南和县| 温宿县| 岳阳县|