zoukankan      html  css  js  c++  java
  • angular.run和angular.config的区别

    ng的运行机制:

      config阶段是给了ng上下文一个针对constant与provider修改其内部属性的一个阶段
      而run阶段是在config之后的在运行独立的代码块,通常写法runBlock
      简单的说一下就是ng启动阶段是 config-->run-->compile/link

    AngularJS中的run方法初始化全局数据,只对全局作用域起作用,如$rootScope.多个控制器之间可以共享数据

    angular.module('ePolicy', ['ionic', 'ePolicy.controllers', 'ePolicy.services', 'ePolicy.directives', 'ePolicy.filters', 'ionic-datepicker','ionic-datepickerg', 'jm.i18next'])
    .run(function($ionicPlatform, $rootScope, $state, $ionicHistory,HttpRequest, $i18next, DeviceInfo, Authorization, LocalStorage, Prompt, HotPush,$location, NoticeCenter, UserAgent, $ionicActionSheet,JPush) {
        $ionicPlatform.ready(function() {
            // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
            // for form inputs)
            
            // splash 放在最前面热更新才会起作用
            if(DeviceInfo.appVersion() !== $rootScope.general.version) {
                if(!UserAgent.is_weixin()){
                    $state.go('tab.splash');
                };
                //首次启动必须延迟检查更新
                HotPush.checkUpdate(true);
                DeviceInfo.setVersion($rootScope.general.version);
            }else{
                HotPush.checkUpdate(false);
            }
                   //.......
    } 

    区别:

    1.执行顺序不同:
      config先执行,run后执行。
    2.注入的服务也有区别:
      config可以注入$stateProvider, $urlRouterProvider, $controllerProvider, $provide, $httpProvider等等provider
      run可以像controlle一样注入service,例如配置公共变量等

  • 相关阅读:
    【斜率DP】BZOJ 1010:玩具装箱
    【string】KMP, 扩展KMP,trie,SA,ACAM,SAM,最小表示法
    网络流24题 (一)
    关于ax+by=c的解x,y的min(|x|+|y|)值问题
    【概率】COGS 1487:麻球繁衍
    【概率】poj 2096:Collecting Bugs
    [洛谷P5376] 过河卒二
    [TJOI2019] 洛谷P5339 唱、跳、rap和篮球
    [洛谷P3851] TJOI2007 脱险
    [洛谷P3843] TJOI2007 迷路
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/8867043.html
Copyright © 2011-2022 走看看