angular笔记二

angular第二天

羊群效应
依赖注入
复习

对象与对象之间是不会出现相同的,
localStroage,复习;
localStroage.clear()清除
localStroage.BDSUGSTORED,查看页面缓存,例如百度搜索的页面,大小是4M;
track by,在遍历时记得加上
src直接请求,angular处理是加ng-src,等待angular加载,就不会出现百分号;
MVVM设计模式

  • 模块

创建模块

    
    
    


ng-app需要用到就近原则,它也是需要费时间去找ng-app的;哪里需要用哪里
主模块和子模块,控制器名字不同,模块名字不同,主模块引入子模块
页面中ng-app只能有一个,控制器可以多个
angular会将页面滴东西加载一遍,如果没有使用控制器时,子模块不会被调用,同时子模块放在主模块是一个字符串来滴
主模块和子模块名字不要一样

3.不常用的方法

      
{{text}}
{{text}}

不常用模块使用
ng-app可以多次使用
angular.bootstrap()手动注册ng-app
寻找ng-app,没有就可以使用angular.bootstrap手动注册,可以使用这个分段加载模块,用的相对少,作为了解
常用模块使用
主模块与配合子模块使用

  • 控制器的使用
    **这段代码未完善**

多个控制器使用


    
{{text}}
{{text}}
{{text}}
{{text}}

1.控制器可以嵌套
2.控制器可以多个
3.控制器就近原则
每一个主模块中都会有$rootscope;
所有的控制器都会创建自己的$scope(作用域);
$scope有继承的关系,会继承上一级($rootscope),就是$scope中没有的变量会去上一级寻找,直到$rootscope终止
没有使用控制器的时候,有个$rootscope,根的作用域,(如果$rootstrap中有内容,则可以去继承)

  • 控制器常用方法

  • 防止压缩报错

    
    {{text}}
    
    

$scope是依赖注入,但是在压缩代码时,会将该参数改为a,则会报错了,爆出参数找不到,
字符串的东西是不会被压缩工具改变的;
如何解决这个报错呢?
防止压缩报错
1.在使用function时,先添加中括号,然后再将function放入中括号,然后再将$scope写为'$scope'写为中括号第一个参数 ,再传进function
2.在压缩后,参数变为a,但是可以拿到参数$scope;
可以在后面继续添加参数,如$log,但是参数必须按照数组中顺序来,顺序不能随便了;
参数的名字要有意义;

  • 控制器变形

1.控制器期写法(引用1.29版本的angular)




    {{name}}



这种方法会有全局污染
因而才会有后面的写法

2.控制器函数提取出来用变量作为参数传函数,外部引入函数,也需要防止压缩


    {{text}}



注入方式防止压缩(第二种防止压缩的方法)
myCtrl.$inject=['$scope']用来注入,防止压缩
$是服务

  • angular全局方法
  • $$的方法或者属性尽量不要使用
  • bootstrap 用来手动添加ngApp
  • module 用来创建模块
  • version 查看版本
  • 凡属于is开头的都是用来做判断 返回布尔值
  • toJson 将对象转换成Json字符串
  • fromJson 将Json字符串 转换成json对象
  • merge(obj1,obj2) 用来将后面obj2对象合并到obj1中
  • copy(obj1,obj3) 深拷贝obj1到obj3中
  • uppercase lowercase 转换大小写
  • element(精简版)element返回的是jqLite 缺少了很多东西(在angular做页面时候有些地方angular做不到的情况下才用 jqLite或者jquery使用)

深拷贝和浅拷贝

表单验证

    


    
    Title
    
    


用户名为空

长度不能少于3位并且长度不能大于7位

密码为空

密码长度不能少于3位并且长度不能大于7位

密码为空

两次输入密码不一致

邮箱格式不正确

手机号码有误

你可能感兴趣的:(angular笔记二)