Vue路由的实现原理 ❤
更新视图但不重新请求页面,是前端路由原理的核心之一
1,利用URL中的hash("#");
#本身以及它后面的字符称之为hash可通过window.location.hash属性读取.
2,利用History interface在HTML5中新增的方法;
History interface是浏览器历史记录栈提供的接口,通过back(),forward(),go()等方法,我们可以读取浏览器历史记录栈的信息,进行各种跳转操作。
SPA 路由history模式上线后刷新404 ❤
$route和$router的区别 ❤
$route我为当前路由信息对象,可以和获取name,path,query,params
$router为路由实例对象,包括路由的跳转方法,钩子函数拟
自定义过滤器详解
过滤器的作用:实现数据的筛选、过滤、格式化。
vue2.0废置了内置过滤器,允许使用自定义过滤器。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示。
过滤器是一个通过输入数据,能够及时对数据进行处理并返回一个数据结果的简单函数,,过滤器通常会使用管道标志 “ | ”
自定义指令详解
当对dom元素做底层操作时用到自定义指令
钩子函数 :
bind只调用一次, 当指令第一次绑定在元素上时.用来做一次性初始化操作.
inserted当绑定元素已插入到父节点时调用.也就是说 必定存在父节点. 但是 它 及它的父节点 未必存在文档中.
update在包含该组件的VNode更新后调用该函数. 可能在其子级更新前调用.指令的值可能已更改,可能未更改.最好通过判断新旧值来过滤掉不必要的操作.
componentUpdated在包含该组件的VNode 以及 其子节点的VNodes已更新之后 调用.
unbind指定从元素上解绑时,调用一次.
assets和static的区别 ❤
相同点:都是可以在html中使用
assets中的文件会经过webpack打包,重新编译,推荐该方式。
而static中的文件,不会经过编译。项目在经过打包后,会生成dist文件夹,static中的文件只是复制一遍而已。
简单来说,static中建议放一些外部第三方,自己的放到assets,别人的放到static中。