带有多个子视图参数的 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 不起作用 的相关文章

  • Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Headers

    我试图通过发布请求将文件发送到我的服务器 但是当它发送时会导致错误 Access Control Allow Headers 不允许请求标头字段 Content Type 所以我用谷歌搜索了错误并添加了标题 http post rootSc
  • 根据用户区域设置过滤字符串列表

    当使用 AngularJS 1 6 处理 JavaScript 项目时 我有一个要过滤的字符串列表 例如 假设我的列表包含 rbol cig e a nido and tubo 当过滤西班牙语字符串时 如果我过滤 u 我会期望两者cig e
  • 导航嵌套组件时创建面包屑 (Angular 2)

    我正在为此苦苦挣扎 这个想法是有一个组件 当浏览子视图时更新面包屑 例如
  • 在角度控制器中监听文档事件

    如何捕获角度控制器中的事件 我有文档级事件 所以我需要在角度控制器中捕获事件 这可能吗 Update 我有独立的 js 文件来处理来自相机的一些操作 document addEventListener myCameraEvent handl
  • 如何在量角器中模拟拖放动作?

    我有一个双滑块 我想测试它是否可操作并返回正确的数据 滑块有一个最小和一个最大处理程序 它还有一些 我可以挂钩的断点 我想要模拟的是 handler max 元素的 touchStart 将拇指移动到类为 step 3 的元素上 handl
  • 仅当显式选择行时才关闭 ui-bootstrap typeahead

    我创建了这个jsBin http jsbin com livuqafe 2 edit来证明我遇到的问题 如果您转到此处 请尝试输入 五 并继续 你的自然反应是输入 五 然后按 Tab 如果你想要 五百 你可以向下箭头一次 但是 在这种情况下
  • Protractor+AngularJS+Jasmine - 测试按住项目

    AngularJS 和 Protractor 非常新 但我认为到目前为止我正在朝着正确的方向前进 我的网站有一个项目列表 当您单击该项目并按住 X 秒时 它会打开一个模式窗口 我如何在 Protractor Jasmine 中模拟这种行为
  • 使用 JS 在 Angular 中创建删除按钮的确认警报

    我有一个带有删除按钮的表单 我想创建一个单击删除按钮时弹出的确认框 删除按钮当前有效 我在 javascript 中尝试了一些方法 但没有成功 我正在使用角度 这是最好的方法吗 另外 有谁知道这方面的任何例子 我还没有找到任何有效的例子 d
  • 如何使用 ng-repeat 复选框和 Angularjs 过滤表格

    曾几何时 这是可行的 但不知何故它被破坏了 我希望能够使用 ng repeat 生成复选框 以根据存储的数据获取所需数量的复选框 并使用它们来过滤生成的表 此外 我不希望重复复选框的相同值 我用代码做了一个plnkr div class r
  • 是否可以在 ASP.NET Web API 和 SPA 中使用基于 cookie 的身份验证?

    我想创建基于 angularjs 前端和 ASP NET Web API 的 Web 应用程序 我需要创建安全 api 但我无法在将实施此 Web 应用程序的公司服务器上使用基于令牌的身份验证 是否可以对 SPA 和 ASP NET Web
  • 如何在 AngularJS SPA 应用程序中处理浏览器刷新?

    我的 AngularJS 应用程序使用 用户界面路由器 一个index html 文件 所有登录和数据调用都会发送到一个 ASP NET Web 控制器 其 URL 以 api xxx 开头 当用户输入 myapp com 时 服务器ind
  • AngularJS 指令的完整列表?

    我正在学习 AngularJS 是否有所有开箱即用指令的完整列表 这FAQ http docs angularjs org misc faq提及ng repeat ng show and ng class 但我感觉还有更多 奇怪的是我找不到
  • Angularjs 范围之外的服务功能

    我在 angularJS 中创建了一个服务 它使用 btford socket io 模块与服务器交互 由于在服务中我已经实现了一些目前在 Angular 内部使用的 API 但为了以后扩展应用程序 我还需要在 Angular 范围之外提供
  • 具有材料设计的Angularjs无法实例化模块ngMaterial

    我已经使用 Bower 安装了 AngularJS 和 MaterialJS 凉亭安装角材料 并将 ngMaterial 注入我的应用程序 但出现此错误 Uncaught Error injector modulerr Failed to
  • 离子旋转器未显示

    我用 http 请求填充 Ionic 集合重复列表 但我不想将所有内容直接加载到 DOM 中 因此 我只显示其中一些项目 并在您向下滚动时添加其余项目 为此我实现了无限滚动功能 当我到达页面底部时 它应该显示一个旋转器 但它没有 这些物品至
  • 父指令属性更改时子指令不会更新

    这是对这两个问题的后续 在父指令和子指令之间传递参数 https stackoverflow com questions 42814530 pass argument between parent and child directives
  • 有没有办法禁用所选 DOM 元素的 Angular 双大括号表示法?

    在我们的网站上 我们显示用户生成的内容 博客文章等 它由 Symfony 应用程序呈现 前端目前正在以 Angular 应用程序的形式重写 现在我们注意到 当用户的博客文章包含双花括号符号时 Angular 会处理它 这是不希望的 Angu
  • jquery.find() 可以只选择直接子项吗?

    我应该向 jQuery find 提供什么参数来选择元素子元素而不选择其他元素 我不能用 gt 引导选择器 而用 将选择所有后代 而不仅仅是直接子代 我知道 jQuery children 但这是一个库 因此用户能够提供自己的选择器 并且我
  • Angular.js,如何将值从一个组件传递到任何其他组件

    我从 Angular js 开始 所以如果我解释得不够 我会将其添加到问题中 请告诉我 I have A component js A template html B component js B template html A compo
  • 将函数传递给指令以在链接中执行的正确方法

    我知道我们通常通过隔离范围将函数传递给指令 directive myComponent function return scope foo 然后在模板中我们可以这样调用这个函数

随机推荐

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

    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