$scope.safeApply = function(fn) {
    var phase = this.$root.$$phase;
    if (phase == ‘$apply‘ || phase == ‘$digest‘) {
        if (fn && (typeof(fn) === ‘function‘)) {
            fn();
        }
    } else {
        this.$apply(fn);
    }
};

使用NG的时候会遇到动态添加数据的情况,有可能在你动态添加数据后页面因为渲染已经完成了导致新添加的数据在页面中无法展示

如使用select标签:

<select id="uidSelect" class="sel" ng-model="sid" ng-init="" ng-options="user.name for user in users">
  <option value="" default>-Select one-</option>
</select>

因为开始的时候users数组的数据是固定的浏览器渲染出来后值就是固定的,那么如果在这之后我们想往users里面添加数据这个下拉选项是不会有改变的,这时候度娘上的各种攻略会告诉你加上 $scope.$apply() 就可以了...但是加好以后有可能会出现 [$rootScope:inprog] $apply already in progress 这样的错误信息,那么这时候只需要使用最上面提供的方法就可以了,

先把最上面的 safeApply 方法加入你的 scope 里面,然后动态添加完数据后 使用 $scope.safeApply(); 就可以了....

最新文章

  1. Css 进阶篇
  2. Spring MVC拦截器+注解方式实现防止表单重复提交
  3. GUI开发者桌面搜索文件工具
  4. staging server, source congtrol, deply workflow using git
  5. [Webpack 2] Validate your Webpack config with webpack-validator
  6. linux动态库加载RPATH, RUNPATH
  7. Windows Azure HDInsight 支持预览版 Hadoop 2.2 群集
  8. 【20171027早】alert(1) to win 第9,10,11,12题
  9. PLECS_直流电机基本系统模型
  10. LeetCode算法题-Rotate String(Java实现)
  11. Confluence 6 增加和减少你许可证的用户数
  12. 被辞退时N+1的说法
  13. django中的模型详解-1
  14. mothur summary.seqs 统计fasta文件中每条序列的长度
  15. 部署OpenStack问题汇总(一)--使用packstack安装openstack:源问题的处理
  16. [Java] 集合框架原理之二:锁、原子更新、线程池及并发集合
  17. 常规操作系统Windows系统淋雨系统Unix系统netware等系统介绍分析
  18. JavaScript 数组操作方法 和 ES5数组拓展
  19. IIS 7浏览网站出错,错误编码 http 503 service unable
  20. vue $set修改数组

热门文章

  1. ————————————————————————————杭电ACM————————————————X-POWER————————————————————————————————
  2. Apache 的启动/重启/停止
  3. ERP仓库管理系统(九)
  4. Get Many Persimmon Trees_枚举&amp;&amp;二维树状数组
  5. Android FM模块学习之二 FM搜索频道
  6. LeetCode First Bad Version (二分查找)
  7. 一步一步使用sklearn
  8. dedecms:织梦文章如何添加“自定义属性”标签(sql命令行工具)
  9. Core Java Volume I — 3.1. A Simple Java Program
  10. 优测优社区干货精选|老司机乱谈编辑器之神——vim