“如何控制按钮权限”,真实案例带你一步一步实现!让面试不再踩坑。
后台管理系统里,菜单权限管的是「进哪个模块」;要更细地管增、删、改、查、搜索,得用按钮权限:按角色决定按钮显不显示、能不能点。 面试常踩的坑是:只藏按钮、接口仍能调;或者三种写法(函数、组件、指令)讲不清。下面先看汇智在线的真实效果,再拆实现,最后落到项目里的插件封装。 一、真实场景:汇智在线 给「…
后台管理系统里,菜单权限管的是「进哪个模块」;要更细地管增、删、改、查、搜索,得用按钮权限:按角色决定按钮显不显示、能不能点。 面试常踩的坑是:只藏按钮、接口仍能调;或者三种写法(函数、组件、指令)讲不清。下面先看汇智在线的真实效果,再拆实现,最后落到项目里的插件封装。 一、真实场景:汇智在线 给「…
后台多标签导航里,常见需求是鼠标右键弹出菜单,用来关闭当前、关闭其它、关闭所有标签。自己用 contextmenu 拿坐标、再绑点击关闭,第三步很容易和「点空白关菜单」抢事件。 项目里后来改用 vue-contextmenujs,把菜单的定位、点击、自动关闭交给库处理,冲突就少了。下面按安装、注册、…
面试 Vue 时,路由几乎必问:有哪两种模式?区别是什么?再往下就会问实现原理,甚至让你手写一个。 常见答案是 hash 和 history。hash 吃的是 URL 里 # 后面的锚点;history 吃的是 history.pushState / replaceState。 hash 从 #a …
Vue 是构建用户界面的渐进式框架:可以从插值用起,再逐步加指令、组件、路由。 它靠数据驱动和组件化工作。如果过去习惯用 jQuery 改 DOM,学 Vue 时先放下「手动找节点」的思路——绑定一旦建立,改数据,视图会跟着更新。 下面带你搭一个简易版 Vue:先完成模板插值 {{ }}、v-tex…
Vue 最独特的一点是 数据驱动:改数据就改视图,少手写 DOM。本篇先对齐数据响应式、发布订阅和观察者,再模拟 Vue 2 的 Vue / Observer / Compiler / Dep / Watcher。 所有示意图(含本地 file:// 路径和站点图)均按原文保留。 一、三个概念 1.…
单向绑定很简单:把 Model 绑到 View,JS 改数据,界面自动更新。双向绑定再走一步:用户改了 View(比如填表),Model 也跟着变。Vue 把这套封装在 MVVM 的 ViewModel 里。 本文从关系图讲到 Vue2 时代的 Observer / Compile / Watche…
移动端列表要做上拉加载、下拉刷新,原生 overflow 往往不够用。better-scroll 专门解决滚动场景,核心借鉴 iscroll,API 基本兼容,又做了扩展和性能优化。 它基于原生 JS,不依赖框架。编译后 63kb,压缩 35kb,gzip 约 9kb。下面用 Vue 接一套下拉刷新…
Vue.js(/vjuː/)是用来创建用户界面的开源 JavaScript 框架,也常被拿来做单页应用。它关注 MVC 里的视图层,又能方便地拿到数据更新,通过组件方法完成视图与模型交互。面试里「说说你对 Vue 的理解」,通常要从 Web 历史、核心特性和和 React / jQuery 的差别讲…
用了 Vue3 大半年,项目一直是 vue-cli 基于 webpack 搭的。刚好有个移动端需求,改用 vite 版 Vue3,这里把脚手架、路由、Vuex、Vant3、rem 适配、axios 和代理的过程记下来。 vite + ts + vue3 一行命令就能起项目;Vant 3 内部是 ES…
Vue2 搭配的是 vue-router@3.x 和 vuex@3.x,Vue3 则换成 vue-router@4.x 和 vuex@4.x。版本号都是 4.x,不要和 Vue 3.x 混为一谈。本文是全家桶系列第 3 篇,对照写法看迁移点。 为方便叙述,文中用 vue2.x router、vue3…