时光的涂鸦墙

code is poetry

angularJs之路由

为什么需要前端路由

  • Ajax请求不会留下history记录
  • 用户无法直接通过 url 进入应用中的指定页面(保存书签,链接分享给朋友)
  • AjaxSEO不友好(没法让搜索引擎索引)

webpack

webpack 是什么

webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使用和处理。

AngularJs中的directive(二)

require

  • ? 如果在当前指令中没有找到所需的控制器,就会将 null 传递给 link 函数中的第四个参数
  • ^ 如果添加了这个前缀,指令会在上游的指令链中查找 require 参数所指定的控制器
  • ?^ 合并了前面两个说法
  • 没有前缀 指令就会自身提供的控制器中查找,如果没有查找到,就会抛出异常来。

deferred延迟对象

延迟对象,在 jQuery 1.5 中引入的,是通过调用 jQuery.Deferred()方法创建的对象。它可以将多个回调存放为一个 callback 队列,并且返回成功或者失败的方法。
延迟对象拥有自己的方法。在创建一个延迟对象后,可以使用以下方法来调用。
deferred.always()
当 Deferred(延迟)对象解决或拒绝时,调用添加处理程序。
deferred.done()
当 Deferred(延迟)对象解决时,调用添加处理程序。
deferred.fail()
当 Deferred(延迟)对象拒绝时,调用添加的处理程序。
deferred.notify()
根据给定的 args 参数 调用 Deferred(延迟)对象上进行中的回调 (progressCallbacks)。
deferred.notifyWith()
根据给定的上下文(context)和 args 递延调用 Deferred(延迟)对象上进行中的回调(progressCallbacks )。
deferred.progress()

sessionStorage和localStorage

sessionStorage 和 localStorage 区别

  • sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此 sessionStorage 不是一种持久化的本地存储,仅仅是会话级别的存储。
  • localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
  • Cookie的大小是受限的,并且每次你请求一个新的页面的时候 Cookie 都会被发送过去,这样无形中浪费了带宽,另外 cookie 还需要指定作用域,不可以跨域调用。
  • Web Storage拥有 setItem,getItem,removeItem,clear 等方法,不像 cookie 需要前端开发者自己封装 setCookie,getCookie。
  • Cookie的作用是与服务器进行交互,作为 HTTP 规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生。

cookie使用说明

1
2
3
4
5
6
7
//设置cookie
function setCookie(cname, cvalue, exdays) {
var d = new Date()
d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000)
var expires = 'expires=' + d.toUTCString()
document.cookie = cname + '=' + cvalue + '; ' + expires
}

© 2019 elaine