1, angularJs的服务有provider,Service, Factory.

  Factory是对Service的封装,Service是对Provider的封装.

  Provide的源码如下:

 function provider(name, provider_) {

   if (isFunction(provider_)) {

       provider_ = providerInjector.instantiate(provider_);

   }

    if (!provider_.$get) {

        throw Error('Provider ' + name + ' must define $get factory method.');

    }

    return providerCache[name + providerSuffix] = provider_;

 }
 
Factory的源码如下:
 
 function factory(name, factoryFn) {

  return provider(name, {

    $get: factoryFn
});
Service的源码如下:
 
 function service(name, constructor) {

   return factory(name, ['$injector', function($injector) {

        return $injector.instantiate(constructor);

    }]);
}
从以上的代码中可以看出,Factory返回的对象是一个实例.Service在此基础上进行了二次的封装.这样就给使用提供了很大的方便
 
2. AngularJs广播
  AngularJs 的广播有$scope.$emit(),和$scope.broadcoast().
    发送广播: $scope.$emit(name, data),和$scope.broadcoast(name,data).
    接受广播: $scope.on(name,function(event,data){ });
    区别在于:  $emit 广播给父controller   $broadcast 广播给子controller
学习一下

最新文章

  1. 在Vi里面实现字符串的批量替换
  2. [hihoCoder#1381]Little Y's Tree
  3. 超级链接a中javascript:void(0)弹出另外一个框问题
  4. linux 设置 jdk环境变量
  5. POJ 1011 sticks 搜索
  6. ListIterator add remove 使用注意
  7. Ajax.BeginForm 异步上传附件 替代方案
  8. 以Windows服务方式运行ASP.NET Core程序
  9. 【刷题】【LeetCode】总
  10. NPOI 图片在单元格等比缩放且居中显示
  11. thinkphp模板继承
  12. Python 互斥锁
  13. python requests接口测试
  14. Javascript 四种输出方式
  15. memcache的资料集
  16. C#.NET常见问题(FAQ)-如何把文本复制粘贴到文本框的光标位置
  17. Saltstack之SSH
  18. mysql-10临时表、复制表
  19. AUC,KS,ROC
  20. opennebula 添加kvm主机日志

热门文章

  1. javaScript(8)---对象和数组
  2. Spring Aop中,获取被代理类的工具
  3. Ajax的简单使用
  4. MFC半透明对话框
  5. Python--简单接口测试实例(一)
  6. WSL Windows Subsystem for Linux安装指南
  7. Oracle VM VirtualBox(一) 快速拷贝一个新的虚拟机
  8. python笔记:#013#高级变量类型
  9. 解决vue在ios或android中用webview打开H5链接时#号后面的参数被忽略问题angular同样适用
  10. spring boot之从零开始开发自己的网站