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,例如配置公共变量等

  • 相关阅读:
    Android AsyncTask
    Eclipse 快捷键
    Android JSON数据的读取和创建
    Android 原生listview item伸展收缩效果 (续)
    Android 原生listview item伸展收缩效果
    Android listview 禁止滑动
    Android R.layout. 找不到已存在的布局文件
    Android ScrollView
    Android android:clickable 问题
    Codeforces 388C Fox and Card Game (贪心博弈)
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/8867043.html
Copyright © 2011-2022 走看看