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

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

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

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

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

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

先看效果:

布局原理

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

細(xì)實(shí)線描述的是各個DIV之間的嵌套關(guān)系,粗黑線是獨(dú)立的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ū)域固定大小(固定寬度或者高度),不帶把手的部分跟隨彈性盒子變化。把手handle是一個獨(dú)立的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項(xiàng)目:
1、安裝node
2、安裝webpack
3、安裝VUE
4、新建VUE項(xiàng)目:vue init webpack-simple
5、根據(jù)相應(yīng)布局制作VUE組件
具體代碼,請參考:https://github.com/vularsoft/studio-ui,根據(jù)標(biāo)注,獲取相應(yīng)的版本記錄即可。

到此這篇關(guān)于VUE實(shí)現(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)頁

    因?yàn)轫?xiàng)目需要,近期做了一個公眾號網(wǎng)頁開發(fā)。在此期間也踩了一些坑,解決這些坑之后,準(zhǔn)備對這個項(xiàng)目進(jìn)行復(fù)盤。記錄下項(xiàng)目從開發(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 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝可重用的代碼。接下來通過本文給大家介紹Vuejs第十二篇之動態(tài)組件,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-09-09
  • vue.js?Table?組件自定義列寬實(shí)現(xiàn)核心方法

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

    這篇文章主要介紹了vue.js?Table?組件自定義列寬實(shí)現(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á)式驗(yàn)證方法

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

    今天小編就為大家分享一篇Element UI 自定義正則表達(dá)式驗(yàn)證方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    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項(xiàng)目webpack打包后iconfont文件路徑的問題

    解決vue-cli項(xiàng)目webpack打包后iconfont文件路徑的問題

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

最新評論

云安县| 漠河县| 汝州市| 靖州| 富民县| 蓝田县| 松滋市| 和平区| 额尔古纳市| 什邡市| 弥勒县| 苏州市| 偏关县| 安平县| 长阳| 普安县| 喜德县| 大新县| 介休市| 潼关县| 乌鲁木齐市| 武城县| 汾阳市| 东至县| 怀安县| 龙门县| 淳化县| 古浪县| 江永县| 习水县| 清水河县| 思茅市| 玉溪市| 拉萨市| 乌拉特后旗| 陵水| 泸定县| 铜陵市| 吴忠市| 博湖县| 天柱县|