Angular 实践:如何优雅地发起和处理请求
本文实现重度依赖 ObservableInput,灵感来自同事 @Mengqi Zhang 实现的 asyncData 指令,但之前没有 ObservableInput 的装饰器,处理响应 Input 变更相对麻烦一些,所以这里使用 ObservableInput 重新实现。
关于Element UI tree组件 懒加载的更新操作
近期根据需求,要做一个懒加载的组织树,并且可以编辑组织树。但是编辑成功之后,却无法进行实时更新。一开始想到了很多解决方案,也在网上参考了很多方案,但是都有种种不足。遂查阅了ElementUi的tree组件源代码。
javascript AOP的实现
以前学习java的Spring框架时,这是个很强大的东西,用于实现调用者和被调用者之间的解耦。虽然在JS中也提供了call与apply动态改变调用者,但在复杂的UI组件中,这是远远不够了。
HTTP缓存总结
web缓存是指一个web资源(如html页面,图片,js,数据等)存在于web服务器和客户端(浏览器)之间的副本。缓存会根据进来的请求保存输出内容的副本;当下一个请求来到的时候,如果是相同的URL,缓存会根据缓存机制决定是直接使用副本响应访问请求
在Vue中实现随hash改变响应菜单高亮
Vue+Element 实现管理页面菜单栏, 点击菜单时 router 改变 hash 访问不同子组件。但是改变 hash 时菜单栏展开状态和 highlight 并不会同步, 需要手动实现。
使用wepack、typescript创建一个angularjs项目
angularjs是一个非常老的框架,如果你准备用angular启动新项目,完全可以使用angular而不是angularjs。 但是有时候我们需要维护老的angularjs项目,但是又想把angularjs升级
JS 中原生错误类型总结
什么?还有除了 200 以外的状态码?不存在的!每次遇到这样的 API,小猪都是黑人问号脸...EXM?王德发?不过那都是另外一个故事了。我们还是说回今天的主题吧,JS 中原生的错误类型。
scrollBehavior 切换到新路由时,页面要滚动到顶部或保持原先的滚动位置
当创建一个 Router 实例,可以提供一个 scrollBehavior 方法:scrollBehavior 方法接收 to 和 from 路由对象。第三个参数 savedPosition 当且仅当 popstate 导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。
vue-router的hash 模式和 history 模式
url 中带有#的便是 hash 模式,#后面是 hash 值,它的变化会触发 hashchange 这个事件。通过这个事件我们就可以知道 hash 值发生了哪些变化。