我在我的应用程序上使用 Angular 的 ui-router 来尝试路由到主视图的子视图。主进程和子进程都有自己的关联 ID。目前我可以导航到父级,但我到子级的链接不起作用。
在我的 Application.js 中
$stateProvider
//Working Route
.state('Project', {
url: '/Project/{projectId}',
views: {
"ContentMain" : {
templateUrl: "/Scripts/Dashboard/templates/MainContent/ProjectMainContent.html",
controller: function ($stateParams) {
console.log("Project state hit!");
}
},
...
}
})
//Non-Working Route
.state('Project.ViewResource', {
url: '/Resource/:resourceId',
parent: 'Project',
views: {
"ContentMain" : {
templateUrl: "/Scripts/Dashboard/templates/MainContent/ProjectResourceViewContent.html"
controller: function ($stateParams) {
console.log("Project.ViewResource state hit!");
}
},
...
}
});
在我的 HTML 中:
<!-- Working Link-->
<a ui-sref="Project({ projectId: 5 })"><h3> My Projects </h3></a>
<!-- Non-working Links -->
<a ui-sref="Project.ViewResource({ projectId: 5, resourceId: 3 })">View Project Resource. </a>
<a ui-sref="Project.ViewResource({ resourceId: 3})">I'm a Resource Image. </a>
第一个链接有效,但是当我单击任一“非工作”子链接时,我的浏览器更新为:“Home/Index/#/Project/5/Resource/3”,这是所需的路线,但是页面内容
知道我哪里出错了吗?
Edit1:在“视图”对象中添加应交换的代码行。
Edit2:为了进一步演示该问题,我添加了控制器代码块。当我点击第一个 html 链接时,我的控制台输出“项目状态命中!”当我单击任一不起作用的链接时,控制台没有新的输出。即,该路线可能没有被击中。