我已添加如下的JS代码 -
exports.openTab = function(location)
{
var $state = app.getInjector().get( '$state' );
var opts = {};
var toParams = {};
toParams.id = "myPage";
$state.go(location, toParams, opts);
exports.executeUsecase();
};
这里state.go工作正常并打开位置,但问题是它在executeUsecase()下面立即执行,其中的代码依赖于打开的位置。我可以确保我的位置是否正常打开然后只调用执行方法?我听说过“stateChangeSuccess”,但不确定如何使用它来打开特定网址?
答案 0 :(得分:-1)
以下是“stateChangeSuccess”的使用示例。 每次状态转换后都会触发此事件。
app.run(function($rootScope) {
$rootScope.$on("$stateChangeSuccess", function(event, toState, toParams, fromState, fromParams) {
if (fromState.name == "") {
//Do something
}
//Or
if (toState.name == "") {
//Do something
}
});
});
根据您的要求对“fromState.name”和“toState.name”进行必要的检查。