我正在尝试根据该问题的答案将状态动态添加到我的应用程序: AngularJS - UI-router - 如何配置动态视图
app.run(['$q', '$rootScope', '$state', '$http',
function ($q, $rootScope, $state, $http)
{
$http.get("myJson.json")
.success(function(data)
{
angular.forEach(data, function (value, key)
{
var state = {
"url": value.url,
"parent" : value.parent,
"abstract": value.abstract,
"views": {}
};
// here we configure the views
angular.forEach(value.views, function (view)
{
state.views[view.name] = {
templateUrl : view.templateUrl,
};
});
$stateProviderRef.state(value.name, state);
});
$state.go("home");
});
}]);
Run Code Online (Sandbox Code Playgroud)
然而,我被困在接受答案的最后一个评论中的那个人,状态被创建,但我需要将用户重定向到正确的状态,而不是简单地将它们重定向到家,我无法得到$state.current.
现在我正在解析所有可用的状态,并尝试找到与当前网址的匹配,如果找到匹配,我将它们重定向到它.我看到一个我不记得的人,就这样做.
除抽象状态外,它工作正常.这是代码:
var matchedState = null,
matchedStateParams = null;
angular.forEach($state.get(), function(state) {
var url = …Run Code Online (Sandbox Code Playgroud)