pkd*_*dkk 6 angularjs angularjs-scope angularjs-routing ionic-framework
我是AngularJS的新手,需要一些帮助,我有一个"AppCtrl",从那里我有一个HTTP webservice调用 - 并且需要在我的其他控制器中访问webservice调用响应.
angular.module('starter.controllers', [])
.controller('AppCtrl', function($scope, $http) {
$scope.webservice_url = "http://webserviceurl.com/";
$http.get($scope.webservice_url+"?action=get_settings").success(function(data, status, headers, config) {
$scope.stations = data.stations;
});
})
Run Code Online (Sandbox Code Playgroud)
这工作很精细 - 我可以访问我的模板中的$ scope.stations - 但现在我想访问我的"PlaylistCtrl"控制器中的$ scope.stations,但这是未定义的:(
.controller('PlaylistCtrl', function($scope, $stateParams) {
console.log($scope.stations); // is undefined :(
})
Run Code Online (Sandbox Code Playgroud)
如何在加载"PlaylistCtrl"之前确保http调用已"完成"(成功)...
mau*_*ycy 10
如果可能的话,你应该把http变成服务/工厂
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, dataService) {
dataService.then(function (data) {
$scope.data = data
})
});
app.controller('SecondCtrl', function($scope, dataService) {
dataService.then(function (data) {
$scope.secData = data
})
});
app.service('dataService', function ($http, $q){
var defferer = $q.defer()
$http.jsonp('http://ip.jsontest.com/?callback=JSON_CALLBACK').success(function (data){
defferer.resolve(data)
})
return defferer.promise
})
Run Code Online (Sandbox Code Playgroud)
http://plnkr.co/edit/8k97DngZ8KoFOBPFJG82?p=preview工作示例
| 归档时间: |
|
| 查看次数: |
4005 次 |
| 最近记录: |