【发布时间】:2018-03-01 09:27:19
【问题描述】:
在 AngularJS 的 RUN 方法中初始化第三方 JavaScript API (iHUB) 时遇到问题。目前代码在异步模式下运行。我希望 IHUB 首先初始化,然后调用 AngularJS 路由/控制器。 (是否可以利用IHUB提供的回调方法?)
var nameApp = angular.module('nameApp', ['ngRoute']);
nameApp.run(['$window', 'myService', function($window, myService) {
//initialize IHUB
var actuate= new actuate();
actuate.initialize('http://localhost:8700/iportal', settings.reqOps, "user", "pwd", callback);
function callback(){
alert('started!!');
}
}]);
nameApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/:tabname', {
templateUrl: 'pages/analyticsDetail.html',
controller: 'tabDetailCtrl'
}).
when('/:tabname/:reportName', {
templateUrl: 'pages/analyticsDetail.html',
controller: 'reportDetailCtrl'
}).
otherwise({
redirectTo: '/Buy Side Dashboard'
});
}]);
【问题讨论】:
-
为此使用路由解析器。
-
angular.config首先运行并在应用程序引导(启动)之前对其进行配置,angular.run将在创建注入器时运行,因此在其他方法之后运行,因此它可以使用事件侦听器。 More about it。由于配置是针对提供者的,因此请尝试在其中初始化 (resolve/$provide) -
您是否尝试将文件首先包含在 angular.js 的 html 声明中?
-
有什么反馈吗?
标签: javascript angularjs birt