小知识

github pages

在setting里面有github pages这一栏,选择分支,就会出现链接

移动端rem适配(http://www.cnblogs.com/zhangwenkan/p/5775357.html)

原理:给html根节点设置一个基础font-size值,然后页面的所有元素布局均相对于该font-size值采用rem单位设定。font-size的取值通过js计算。

但字体不用rem单位,原因如下:

1.设计师要求:任何手机屏幕上字体大小都要统一

2.显然,我们在iPhone3G和iPhone4的Retina屏下面,希望看到的文本字号是相同的。也就是说,我们不希望文本在Retina屏幕下变小,另外,我们希望在大屏手机上看到更多文本,以及,现在绝大多数的字体文件都自带一些点阵尺寸,通常是16px和24px,所以我们不希望出现13px和15px这样的奇葩尺寸。

3.有一种叫做点阵字体的存在(什么是点阵字体),也叫作位图字体,位图我们都知道,跟矢量图是有区别的,就是放大会模糊,所以点阵字体也是放大会模糊的,如果根据rem设置字体大小,字体会自由缩放,可能就会导致点阵字体模糊,所以需要设定使用几种固定大小的字体。(不过,在正常情况下,系统自带的字体都是矢量字体,所以使用rem为单位是没有问题的,除非你的网页需要用到特殊的点阵字体。)

angularjs 关于src和ng-src的区别,ng-src="{{}}"里面为什么要用中括号?

简单的说:
1、资源url是个常量,那么就用src,没毛病;
2、资源url是个(包含)变量,那么就用ng-src + {{}},可以规避第一次请求404的问题。

href="#"与href="javascript:void(0)"的区别

“#” 包含了一个位置信息,默认的锚是#top 也就是网页的上端。
而javascript:void(0), 仅仅表示一个死链接。
在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。
如果你要定义一个死链接请使用 javascript:void(0) 。

自执行函数(不污染全局)

(function(window){})(window)

window.location对象

监听网址的变化

  (function(window) {
  window.addEventListener('hashchange', function(e) {
    var hash = window.location.hash;
    switch (hash) {
      case '#/index/':
        console.log('请求index');
        break;
      case '#/demo/':
        console.log('demo');
        break;
      case '#/aaa/':
        console.log('aaa');
        break;
    }
    // console.log(11111);
    // console.log(e);
    // hash 属于路径(URL)的组成
    // console.log(window.location);
    // 可以通过 window.location 拿到所有信息
    // https://www.baidu.com:8080/aaa/1.html?id=10#name
    //
    // protocol: https
    // host: www.baidu.com:8080
    // hostname: www.baidu.com
    // port: 8080
    // pathname: /aaa/1.html
    // search: ?id=10
    // hash: #name
  });
})(window);

通过自定义指令访问DOM: 对于Angular,一个程序中唯一允许接触DOM的地方就是“指令”。之所以这样要求,是因为需要访问DOM的代码难以进行自动化测试。 如果你需要直接访问DOM,那么你就应该为此写一个自定义指令。在 指令指南一章中详细解释了该怎样实现自定义指令。

angular指令 用驼峰命名法

建议使用破折号分隔符的方式(比如ng-bind for ngBind). 如果你想支持HTML验证工具,你可以加前缀data.(比如把ngBind写成data-ng-bind).
自定义指令时尽量返回一个对象,而不要只返回一个函数

创建一个能由元素名字触发的指令,你需要用到restrict选项
选项restrict可以设置成以下方式:
'A' - 仅匹配属性名
'E' - 仅匹配元素名
'AE' - 既匹配属性名又匹配元素名
下面把例子的restrict选项选项成restrict: 'E'。

创建一个操作DOM的指令

在这个例子中,我们会创建一个显示当前时间的指令,每秒一次更新DOM以正确的显示当前的时间。
指令修改DOM通常是在link选项中,link选项接受一个带有如下签名的函数function link(scope,element,attrs) {...} 其中: scope 是一个Angular的scope对象. element 指令匹配的jqLite封装的元素(angular内部实现的类jquery的库) * attrs 是一个带有规范化后属性名字和相应值的对象.
在我们的link 函数中,我们每秒更新一次显示时间,当用户改变绑定的时间格式字符串的时候也会更新。 当指令被删除的时候,我们也要移除定时器,以避免引入内存泄露。

我该什么时候使用$location?

只要你的应用想更改当前地址,或者你想要修改浏览器的当前地址,就用它吧!

什么时候不该用它?

在浏览器地址变化的时候,它不会导致全页面刷新。要想在地址变化之后重载整个页面,请使用底层API$window.location.href。

ng-bind-html

ng-bind-html需要引入一个解析HTML的插件

1 采用ngSanitize插件的形式解析HTML

1.1 在angularJS的库文件中可以找到

1.2 也可以到bootcdn上面去下载使用

当你初试 Angular 时,很自然地就会往 controller 和 scope 里堆满不必要的逻辑。一定要早点意识到,controller 这一层应该很薄;也就是说,应用里大部分的业务逻辑和持久化数据都应该放在 service 里。很多人问道,关于如何在 controller 里保存持久化数据。这就不是 controller 该干的事。出于内存性能的考虑,controller 只在需要的时候才会初始化,一旦不需要就会被抛弃。因此,每次当你切换或刷新页面的时候,Angular 会清空当前的 controller。与此同时,service 可以用来永久保存应用的数据,并且这些数据可以在不同的 controller 之间使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,710评论 4 376
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,839评论 2 308
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 112,295评论 0 255
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,776评论 0 223
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,198评论 3 297
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,074评论 1 226
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,200评论 2 322
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,986评论 0 214
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,733评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,877评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,348评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,675评论 3 265
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,393评论 3 246
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,209评论 0 9
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,996评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,212评论 2 287
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 36,003评论 2 280

推荐阅读更多精彩内容

  • AngularJS是什么?AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是...
    200813阅读 1,528评论 0 3
  • 对web标准以及W3C的理解与认识 web标准,简单来说就是将页面的结构、表现和行为各自独立实现(结构、表现和行为...
    饥人谷区子铭阅读 509评论 0 1
  • 前端7班_leec 浏览器的标准模式与怪异模式 在W3C标准出台以前,浏览器在对页面的渲染上没有统一规范,产生了差...
    奔跑的Pi阅读 237评论 0 1
  • 大的网站将css放在head里面是为了防止散屏、白屏,内容出来样式摆出来 index.html约定俗成的文件名,访...
    findmoon阅读 372评论 0 0
  • 一:box-sizing 1:box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。 2:默认值...
    stars甜阅读 260评论 0 2