1.angularjs自定义服务有几种?
Provider
Service
Factory
Value
Constant
|类型 | Factory | Service| Value|Constant |Provider |
| :-------- | --------:| :--: |
|可以依赖其他服务 | 是 | 是 | 否| 否 | 是|
|使用类型友好的注入 | 否 | 是 | 是| 是 | 是|
|在config阶段可用 | 否 | 否 | 否| 是 | 是|
|可以用于创建函数/原生对象 | 是 | 否 |是| 是 | 是|
2.angularjs组件之间如何通信
Angularjs为在scope中为我们提供了冒泡和隧道机制,$broadcast会把事件广播给所有子controller,而$emit则会将事件冒泡传递给父controller,$on则是angularjs的事件注册函数
3.指令scope的绑定策略
1、@:把当前的属性作为字符串传递。你还可以绑定来自外层的scope的值,在属性值中插入{{}}即可。下面是代码。
2、“ = ” : 与父scope中的属性进行双向绑定
3、“ & ”:传递来自父scope中的函数、稍后调用
4.谈谈你对angularjs 作用域的理解
1$rootScope 是根作用域,controller 作用域$scope继承 $rootScope。所有的controller都可以访问$rootScope
2父子controller之间作用域$scope 也存在继承关系,子controller可以访问父controller作用域里的值
3指令directive也存在scope,默认值false,跟controller作用域共用一个作用域,如果为true scope继承controller $scope 如果scope为{}则指令作用域是独立作用域