gpt4 book ai didi

javascript - ui-router $stateParams 没有加载 Controller

转载 作者:行者123 更新时间:2023-11-29 21:16:47 25 4
gpt4 key购买 nike

我的路由状态有一个奇怪的问题。比如我的状态:

.state("systemInformation", {
url: '/system_info/:system',
views: {
"content@app": {
controller : 'SystemInformationController',
templateUrl : 'pages/systemInformation.html',
params: {
system : null
}
}
}
})

这工作正常,它转到页面,加载 Controller ,并且它可以访问父 Controller (也正在加载)。我在我的 index.html 页面中使用了 ui-view,所以我知道这不是问题,因为它可以正常加载 4 个其他 Controller 。

但是当我添加这个状态时:

.state("systemRegistration", {
url: '/system_reg/:system*/:survey_page*',
views: {
"content@app": {
controller : 'SystemRegistrationController',
templateUrl : 'pages/systemRegistration.html',
params: {
system : null,
survey_page : null
}
}
}
})

它所做的只是将字符串 /#/system_reg/new_system/Basic%20System%20Information 加载到我的 URL 中,而 $stateProvider 什么都不做。我已经对拼写错误进行了三重检查,并且使用 $routeProvider 我没有遇到 Controller 路由问题。

这里有什么我没有看到的吗?没有错误,因为 Controller 没有运行(它已加载,并且它的格式与其他状态相同),并且模板路径也是正确的,所以这也不是原因。

这是 HTML 链接:

<li><a href="#/system_reg/new_system/Basic System Information" ng-click="clearRegSurvey()">Register a System</a></li>

<li><a href="#/system_search">Find a System</a></li>

注意:即使没有 ui-sref,系统搜索也有一个状态路由,并且可以工作。这就是为什么我很困惑。此外,ui-sref 不适用于 sys reg 页面。

最佳答案

发现问题。结果是 stateProvider 不喜欢 url 路由中的通配符星号 (*)。我不确定为什么,因为初始值没问题,但我想如果有多个路由参数,你就不能使用通配符。

url: '/system_reg/:system/:survey_page',

现在可以了。

关于javascript - ui-router $stateParams 没有加载 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39085338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com