AngularJS:用异步数据初始化服务
myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } };});
doStuff()
myData
带有“Run”的安装服务
myApp.run(function ($http, MyService) { $http.get('data.json').success(function (data) { MyService.setData(data); });});
myModule.service('MyService', function() { var myData = null; return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } };});
doStuff()
使用承诺对象
then
手动引导
angular.element(document).ready(function() { $.getJSON("data.json", function (data) { // can't initialize the data here because the service doesn't exist yet angular.bootstrap(document); // too late to initialize here because something may have already // tried to call doStuff() and would have got a null pointer exception });});
全局Javascript Var
<script type="text/javascript" src="data.js"></script>
var dataForMyService = { // myData here};
MyService
:
myModule.service('MyService', function() { var myData = dataForMyService; return { doStuff: function () { return myData.getSomeData(); } };});
呼如林
相关分类