Merge branch 'hotfix/addEventListener' into develop

Former-commit-id: 5fcb1ecd497bf704b6d399bd8c482389fb3ce730 [formerly 5fcb1ecd497bf704b6d399bd8c482389fb3ce730 [formerly 5fcb1ecd497bf704b6d399bd8c482389fb3ce730 [formerly 5fcb1ecd497bf704b6d399bd8c482389fb3ce730 [formerly fdb86e9b61a2f5dc8a8d5ae740c0d877d7b348bc [formerly b03dca12c7bc0618bfe993a8f5f90a1895a0d846]]]]]
Former-commit-id: dcd695d8f787f13e4e90aa61e72cd40361e73f7f
Former-commit-id: 5482d0aeed3a59b3f3f4a7c09a46b6f929f2a074
Former-commit-id: 415767464c9ed461bada45ba3065629e3efe55c5 [formerly 535d2a56907ffeb2b3e88e467ed034f71487c8d6]
Former-commit-id: cdb6b96bd912c662e24e3ac3fdb27851370a7a5b
Former-commit-id: 81bb54861218b39d1fd7440de956770ec28cf1bb
Former-commit-id: ae0384aa6638d7e488c04e0f439ccb7d0198c63a
Former-commit-id: 10816c166fc765bf932bc4bc98e3b875d7396a80
Former-commit-id: f6cc971baada90fa1bbfa2d0307cf452877a719f
This commit is contained in:
liyang
2018-09-19 16:00:08 +08:00
2 changed files with 15 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "d2-admin", "name": "d2-admin",
"version": "1.4.7", "version": "1.4.8",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve --open", "serve": "vue-cli-service serve --open",

View File

@@ -20,6 +20,7 @@
</template> </template>
<script> <script>
import { throttle } from 'lodash'
import { mapState } from 'vuex' import { mapState } from 'vuex'
import menuMixin from '../mixin/menu' import menuMixin from '../mixin/menu'
import d2LayoutMainMenuItem from '../components/menu-item/index.vue' import d2LayoutMainMenuItem from '../components/menu-item/index.vue'
@@ -44,7 +45,8 @@ export default {
isScroll: false, isScroll: false,
scrollWidth: 0, scrollWidth: 0,
contentWidth: 0, contentWidth: 0,
currentTranslateX: 0 currentTranslateX: 0,
throttledCheckScroll: null
} }
}, },
watch: { watch: {
@@ -68,10 +70,8 @@ export default {
this.currentTranslateX = this.contentWidth - this.scrollWidth this.currentTranslateX = this.contentWidth - this.scrollWidth
} }
} }
}
}, },
mounted () { checkScroll () {
const checkScroll = () => {
let contentWidth = this.$refs.content.clientWidth let contentWidth = this.$refs.content.clientWidth
let scrollWidth = this.$refs.scroll.clientWidth let scrollWidth = this.$refs.scroll.clientWidth
if (this.isScroll) { if (this.isScroll) {
@@ -105,14 +105,18 @@ export default {
}) })
} }
} }
},
mounted () {
// 初始化判断 // 初始化判断
checkScroll()
// 默认判断父元素和子元素的大小,以确定初始情况是否显示滚动 // 默认判断父元素和子元素的大小,以确定初始情况是否显示滚动
this.checkScroll()
// 全局窗口变化监听判断父元素和子元素的大小从而控制isScroll的开关 // 全局窗口变化监听判断父元素和子元素的大小从而控制isScroll的开关
window.onresize = () => { this.throttledCheckScroll = throttle(this.checkScroll, 300)
checkScroll() window.addEventListener('resize', this.throttledCheckScroll)
} },
beforeDestroy () {
// 取消监听
window.removeEventListener('resize', this.throttledCheckScroll)
} }
} }
</script> </script>