我试图在我的角应用程序中写一个小服务,这将使我能够选择在全局Javascript对象中指定的配置参数。我不想尝试访问全局配置对象,除非文档准备好了(因为我不能保证脚本元素将被插入到HTML中的顺序)。
原文链接:https://www.f2er.com/angularjs/145439.html然而,我不明白为什么我需要调用$ apply的分辨率实际传播到那个回调。
myModule.service('GlobalConfigService',['$q','$rootScope',function($q,$rootScope) { var def = $q.defer(); $(document).ready(function() { def.resolve(MyConfig.val); $rootScope.$apply(); }); def.promise.then(function () { console.log('I am called only when $apply() is called. Why?'); }); return def.promise; }]);