top-admin

xiaoxiao2021-02-28  24

1、1个ng-view 对应一个路由

2、延迟加载:resove参数,用promise 方式实现页面数据的延迟加载

3、angularJs 里的一切都衣服在module 之下

4、因为项目总的只有一个ng-app=”BlurAdmin” 所以也仅有一个$rootScope

5、找数据只能去自己的controller 中找,或者是$scopeScope 中

6、只要是页面中用到ng-xxx 的地方有变量名出现,那么该变量要么在 $scope中要么在$rootScope中

7、路由的时候不同路由使用同一个controller,则controller 数据会被重置为初始状态,即controller中的数据是全新的

8、service 服务中的数据会被不同controller共享,controller 中也可以改变service 的值,改变之后将会影响所有共享它的controller

9、directive指令中的link 函数会在指令被调用前执行,每次调用都会执行一次link函数

10、directive 中隔离scope中,@符号表示隔离scope的属性使用父scope 的属性 – @ 父变—>子变,子变—>父不会变

= 父变—>子变,子变—>父也变

11、路由中的resolve 可以用来向后台请求所需的数据 resolve 中可以使用$http服务获取后台数据

resolve:function($http){ var data = $http.get(参数列表); return {data:data}; }

12、directive 中scope:{ } 隔离scope scope:{xxx:”@或者=或者&”} xxx 为指令中的属性

当为@时指令中xxx 的属性值写法为xxx = “对应的父scope属性名” 当为=时指令中xxx的属性值写法为xxx=”父scope属性名” 当为&时指令中xxx的属性值写法为xxx=”父scope方法属性名()”

13、父子级controller,子级会继承父级的scope,继承的时候常量为赋值,引用为共享,即,你我是同一个,你变我也变,我变你也变

14、注意,浏览器解析html 元素的时候会忽略非html 标签,例如

<operate><span>66</span><operate> | --------------- | | | | 被忽略 把operate当做 被忽略 不存在一样显示

15、使用$compile服务编译元素的时候,如果元素上有angularJs相关的指令,则指令中的值,直接写,而不用用{{}}括起来,括起来反而会有问题 不括起来虽然页面上看不出效果(浏览器上显示仍然是那个变量名称但其实已经改变了)

16、$parse(要解析的内容)返回一个函数的引用

var content = {a:5,b:5}; var fn = $parse("a+b"); // 要解析的表达式 var val = fn.(content); // content为表达式中的数据来源 console.log(val); // 输出为10

17、$compile(要用angularJs编译的html元素对象),返回一个函数的引用

var ele = document.getElementById('eleId'); var fn = $compile(ele.contents()); fn($scope); // 和$parse的那个相似

18、javascript 中对象赋值是同一个对象,例如

var a = {b:5}; ==>a 和 b 指向同一个对象 var b = a; console.log(a.b); // 输出 5 console.log(b.b); // 输出 5 b.b = 10; console.log(a.b); // 输出 10 console.log(b.b); // 输出 10
转载请注明原文地址: https://www.6miu.com/read-2100349.html

最新回复(0)