在我的angularjs应用程序中,我用ui.router(urlRouterProvider)模块和stateProvider替换了ngRoute(routeProvider),以便在我的应用程序中的状态之间导航。
现在我发现ui-router只适用于状态而<a ui-sref="">
代替<a href="">
。由于我必须使用javascript在我的应用程序之外设置应用程序导航,我无法将锚点从href更改为sref。以下是我设置导航链接的方法。
Portal.setNavigation(
[
{
"label": "Application1",
"selected": true,
"url": "/web/guest#/Application1"
}
]
);
此代码集相应地为href属性。这是我的stateProvider代码段,适用于手动放置的 srefs ,如下所示:<a ui-sref="Application1">Application State 1</a>
app.config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('Application1', {
url: '/Application1',
templateUrl: '/Application.html',
controller: 'AppCtrl'
});
}]);
任何想法如何继续使用ui-router并使用hrefs导航状态?
答案 0 :(得分:1)
如果你通过像window.location(url)之类的东西通过javascript导航到你的应用程序之外,你应该能够将你的状态路由放在url中,路由器应该能够处理路由即窗口。位置(/ STATE1)。
以下是来自ui路由器的文字(link):
以下是设置基本网址的方法。
$stateProvider .state('contacts', { url: "/contacts", templateUrl: 'contacts.html' })
现在,当用户访问index.html / contacts时,“联系人” 状态将变为活动状态,主要的ui视图将填充 'contacts.html'部分。