我发现了许多类似的问题,但我无法将解决方案应用到我的问题中。
所以在我的角应用程序中,我正在绘制nvd3图表。
我正在服务中进行获取请求,我可以在浏览器中看到网络,我总是得到我想要的图表数据。
问题在于,当我运行grunt serve
来启动我的角度应用程序时,我仍然通过api获取数据,但由于某种原因它们没有显示。
只有在我运行grunt serve
时才会发生这种情况。但是,如果我点击刷新,在运行grunt serve之后,数据会正确显示。
提前感谢您的帮助。
这就是我想要做的事情:
'use strict';
angular.module('myApp')
.service('mainService', function($http) {
this.getData = function() {
return $http({
method: 'GET',
url: '/rest/api/config',
});
}
})
.controller('MainCtrl', function($scope, $http, mainService) {
var name = 'main';
var model;
mainService.getData().then(function(d) {
model = d.data;
$scope.modelling();
});
$scope.modelling = function() {
if(!model) {
console.log("no model");
// set default model for demo purposes
model = {
title: "about",
structure: "12/4-4-4",
};
}
console.log(model);
$scope.name = name;
$scope.model = model;
$scope.collapsible = true;
}
});
答案 0 :(得分:0)
尝试这样的事情。最初,在您的示例中,$ scope.model将是未定义的。
.controller('MainCtrl', function($scope, $http, mainService) {
var name = 'main';
mainService.getData().then(function(d) {
$scope.modelling(d.data);
});
$scope.modelling = function(data) {
//do something with data here, or set
$scope.model = data;
}
$scope.name = name;
$scope.collapsible = true;
}
});
这可能有效,取决于你如何设置nvd3图表。