带有多个子视图参数的 ui-sref 不起作用

2024-03-28

我在我的应用程序上使用 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 链接时,我的控制台输出“项目状态命中!”当我单击任一不起作用的链接时,控制台没有新的输出。即,该路线可能没有被击中。


弄清楚发生了什么。在仔细查看多个命名视图上的文档后here https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views,我意识到我的子视图正在搜索 ui-view 标签parent模板,而不是root模板。本质上,我的孩子试图嵌套在我的父母中,而我想要的行为是取代父母的观点。

因此,为了在根目录中定位 ui-views,我的解决方案如下所示:

.state('Project.Resource', {
    url: '/Resource/{resourceId}',
    parent: 'Project',
    views: {
        "MainControls@":   { templateUrl: "/Scripts/Dashboard/templates/MainControls/MainControls.html" },
        "ContentMain@": {
            ...
         },
         ...
     }
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有多个子视图参数的 ui-sref 不起作用 的相关文章

  • Angular.js 性能问题

    性能选项卡上的 Batarang 显示在应用程序的根目录上 Angular 正在调用如下所示的函数 function a var e f i a eval h m hc i 根据 batarang 的说法 它的速度慢得令人痛苦 当我在应用程
  • 如何使用 Jasmine 监视 AngularJS 的 $timeout?

    我试图监视 timeout 以便我可以验证它是否未被调用 具体来说 我的生产代码 见下文 将 timeout 作为函数调用 而不是对象 timeout function and not timeout cancel for instance
  • 使用 ui-router 转到祖父母状态

    With ui router我可以用 state go 无需指定其完整路径即可转到父状态 有没有类似的方式去祖父母状态 我的父母状态是抽象的 In 文档示例 http angular ui github io ui router site
  • createSpy 在 Angular + Jasmine 中如何工作?

    我做了一个简单的工厂演示 我正在尝试使用jasmine 我能够运行测试 但我正在使用spyOn方法 我宁愿使用茉莉花 createSpy or 茉莉花 createSpyObj做同样的测试 有人可以帮助我重构我的代码 以便在我的示例中使用这
  • 使用 org.apache.cordova.file 获取选定的文件大小

    使用 org apache cordova file 插件 我可以选择该文件并获取该文件的本机路径 之后 我必须限制用户根据文件大小选择文件 但我无法理解文件大小 我的问题是我无法使用该插件获取文件大小 为此我正在使用本教程 http th
  • 如何在angularjs中读取pdf流

    I got the following PDF stream from a server 如何在 AngularJS 中读取这个流 我尝试使用以下代码在新窗口中将其作为 PDF 文件打开 success function data wind
  • OWIN 令牌身份验证 400 来自浏览器的 OPTIONS 错误请求

    我正在根据这篇文章对小型项目使用令牌身份验证 http bitoftech net 2014 06 09 angularjs token authentication using asp net web api 2 owin asp net
  • 有人可以提供 AngularJS 中范围的 $destroy 事件的示例吗?

    有人可以提供作用域 destroy 事件的示例吗 这是来自的参考文档http docs angularjs org api ng ro otScope Scope destroy http docs angularjs org api ng
  • Angular $http 正在发送 OPTIONS 而不是 PUT/POST

    我正在尝试通过 PHP 后端更新 插入 MySQL 数据库中的数据 我正在使用 AngularJS 构建前端并使用 http用于与 REST API 通信的服务 我的设置如下所示 我通过 httpProvider 设置标头 httpProv
  • 如何通知 AngularJS 表单已由 jQuery 外部填写?

    我在 AngularJS 中有一个页面 其中有一个包含一些字段的表单 加载该页面后 我想要一个书签 单击该书签可根据配置文件中的数据填充字段 正在使用一个 JS 文件 该文件使用 jquery 来填充表单中的数据 当我做 id val ab
  • 从 Angularjs 应用程序中的 iOS Webview 调用 Javascript 函数

    我的问题是 当我尝试从 UIWebView 中调用 AngularJS 应用程序中存在的 javascript 函数时 该函数无法识别 当我在典型的 html 结构中调用该函数时 该函数会按预期被识别 下面提供的示例 目标 C void v
  • 如何让 AngularJS 绑定到 A 标签的 title 属性?

    目的是让产品名称出现在缩略图的工具提示中 浏览器不会从 ng title 或 ng attr title 创建工具提示 我们使用 AngularJS 版本 1 0 7 您可以在任何属性前面添加 ng 或 ng attr Angular 将进
  • AngularJS 计数器计数到目标数

    我是 Angular 的新手 想在 JQuery 中实现同样简单的函数扩展 但使用指令 据我所知 这就是应该如何完成的 有人知道准备实施吗 我的搜索最终只找到了 JQuery 解决方案 但我不知道如何将其转换为 Angular 这就是我需要
  • Socket.IO 消息不更新 Angular 变量

    我有一个 socket io 客户端 服务器设置 并在客户端上运行 AngularJS Server js var io require socket io server io on connection function socket s
  • AngularJS:在任何部分页面控制器之前调用特定函数

    我想调用一个特定的函数 GetSession 在我的应用程序加载开始时 这个函数使 http调用并获取会话令牌 GlobalSessionToken从服务器 然后 该会话令牌用于其他控制器逻辑并从服务器获取数据 我已经打电话给这个GetSe
  • 在 Protractor 测试中同步处理

    我正在尝试在量角器中编写一个我认为相当简单的测试 但似乎当您尝试同步执行任何操作时 量角器就会让您的生活变得困难 通常 处理定位器函数 返回 Promise 不是问题 因为任何 Expect 语句都会在测试断言之前自动解析传递给它的任何 P
  • Azure Media Player 在重新访问视图时无法在 Angular JS 中播放视频

    我已经在我的 angularjs 应用程序中使用了 azure 媒体播放器并且能够观看视频 但是 当重新访问视频标签所在的同一视图时 不会播放视频 而是在后台播放音频 我正在使用 ui router 进行路由 预先感谢您的快速帮助 这是我的
  • 如何公开具有隔离范围的指令的行为?

    如何公开指令中的方法 我知道我应该使用数据属性 但我真的想公开behavior not data 父控制器可以调用的东西 假设我的 DOM 如下所示 div div div div
  • 什么是“更便宜”的性能明智的 $broadcast 或 $watch

    我的应用程序中有一种情况 每次用户的角色发生变化时 我都需要重新加载菜单 一个用户可以在多个公司中拥有角色 我想知道解决这个问题的最佳方法是什么 目前我正在做以下事情 app controller menuLoadingCtrl funct
  • 在指令中使用 $http 和 $templateCache 不会返回结果

    我正在尝试创建一个加载模板的指令 然后模板将被缓存 因此当您第二次单击该元素时 它不会尝试加载它 而是从 templateCache 获取最近加载的值 我注意到 如果缓存命中 我不会从 http get 方法得到任何响应 a href Cl

随机推荐

  • “不为空”和“不为空”有什么区别

    SELECT id FROM customers WHERE type IS NOT Null Versus SELECT id FROM customers WHERE NOT type IS NULL 上述任何一个返回的数据都将完全相同
  • sp_getapplock 无事务

    我正在实现内部没有事务的存储过程 事实上 它会 但仅限于特定地点 以将时间减少到最少 存储过程的本质是我一次只想运行一个 我尝试使用 sp getapplock 但很快发现它需要在事务内部 是否有其他选择可以在整个过程上锁定但不将其包装到事
  • 没有为类型“QuerySnapshot”定义 getter“文档”

    尝试从 Firestore 实时数据库访问数据 但我一直收到此消息和其他几条消息 在这种情况下我该如何访问数据 先感谢您 class HomePage extends StatefulWidget override HomePageStat
  • 如何在不单击表单的情况下触发表单上的默认按钮(winforms)?

    我有两个文本框 一个用于登录 ID 另一个用于密码 并且有一个按钮 提交 我需要一个获取登录 ID 和密码值的事件 即 无需单击鼠标 我需要调用此事件 只需按键盘上的 输入 即可 有谁能够帮助我 提前致谢 斯里尼 将按钮设置为表单上的接受按
  • 格式化 NumPy 数组

    我要这个 SP 1 2 3 1 1 000000e 00 2 000000e 00 3 000000e 00 2 1 630000e 01 1 990000e 01 1 840000e 01 3 1 630000e 01 1 990000e
  • 带有运行时构造函数参数的键控委托工厂?

    假设我有以下服务和组件 public interface IService void DoWork public class ServiceA IService private readonly string name public Ser
  • Laravel - 填充数据库中缺失的日期和计数

    我需要根据我收到的日期发送每个日期的观看次数 request 从控制器中的查询中 我获取了如下所示的图表数据 time 2016 05 01 count 2 time 2016 05 02 count 3 time 2016 05 03 c
  • const 键和非 const 键有什么区别?

    下面两行有什么区别 map
  • 使用 Cordova 插件拍摄全景图像?

    是否可以使用某些 cordova 插件 在 X 轴和 Y 轴 拍摄全景图像 感谢您的任何建议 相机插件启动设备的相机应用程序 所以我想在带有全景相机应用程序的手机上 您可以从科尔多瓦应用程序中拍摄全景图 用户必须手动选择该功能 否则你必须要
  • C# .NET 应用程序设置和升级

    我使用 Settings Default MySettingName 和 Settings Default Save 来保存和加载设置 当我更改版本号时 如何从旧版本获取设置并将其应用到新版本 我只是不太明白 Settings Upgrad
  • 使用 JavaScript 显示/隐藏图像

    我有一个 HTML 页面 其中包含一个通过 CSS 设置为不可见的图像visibility hidden 我想创建一个名为 显示图像 的链接 这样当我单击它时 就会出现图像 现在 我不知道如何建立这样的链接 因为通常与 a href 链接到
  • ChatBot 在 Web 模拟器中无法运行,但在本地 Bot Framework 模拟器中运行良好

    我开发了与 SharePoint On Premise 集成的 ChatBot 当我在模拟器中调试 ChatBot 时 它可以工作 但是 当我使用 DirectLine 在 Azure 中的 Web 模拟器和公司网站托管的网站上进行调试时
  • 为什么 Symantec CSR 检查程序认为我的 CSR 在 AlgorithmIdentifier 中缺少 NULL 值? RFC3279

    由于许多令人不快的原因 我一直在尝试使用 bouncycastle API 手动构建自己的证书签名请求 表面上 我选择这样做是因为我需要 CSR 的预签名版本 以便使用存储在 HSM 中并在 LMK 下加密的密钥生成 sha256withR
  • 非交互模式的 Powershell 测试

    我有一个可以手动运行或可以通过计划任务运行的脚本 我需要以编程方式确定我是在非交互模式 通过计划任务运行时设置 还是正常模式下运行 我用谷歌搜索了一下 我能找到的最好的方法是添加命令行参数 但我没有任何可行的方法来处理计划任务 也不能合理地
  • 当我运行“gatsbydevelopment”时,安装“sharp”模块出现错误,显示错误

    gatsby develop success openly and validate gatsby configs 0 005 s error Something went wrong installing the sharp module
  • 无法在 go 中用作赋值类型

    当我编译代码时 收到以下错误消息 不知道为什么会发生 有人可以帮我指出为什么吗 先感谢您 不能使用 px InitializePaxosInstance val 类型 PaxosInstance 作为 在赋值中输入 PaxosInstanc
  • Laravel 5.2 队列忽略 .env

    我有一个 Laravel 5 2 应用程序 当用户购买产品时它会发送几封电子邮件 电子邮件视图包含对一些图像的引用 如下所示 img src 这在我拥有的所有 3 个环境中都运行良好 本地 登台和生产 asset 使用每个环境中配置的 AP
  • 验证码解码

    我见过一些验证码使用 javascript php 等进行解码 他们是如何做到的 比如很受欢迎的超级上传 site s 验证码也已被解码 http herecomethelizards co uk mu captcha 我是一名图像处理专家
  • 自定义按钮的前景色(ControlPresenter)

    我正在尝试在 App xaml 中定义全局按钮样式 它基本上按我的预期工作 但是 我只是不知道如何让前台正常工作 无论我做什么 我都会获得默认 TextBlock 的样式 它将颜色设置为白色
  • 带有多个子视图参数的 ui-sref 不起作用

    我在我的应用程序上使用 Angular 的 ui router 来尝试路由到主视图的子视图 主进程和子进程都有自己的关联 ID 目前我可以导航到父级 但我到子级的链接不起作用 在我的 Application js 中 stateProvid