Angular UI-Router 模式删除父状态

2023-12-01

我正在开发一个具有 ui-router 模块的角度应用程序。 当进入路由器的某种状态时,我会显示一个模式对话框,然后它会替换我的父视图。我想保留父视图并将模式显示为叠加。有没有办法用 ui-router 做到这一点?

举个例子:

$stateProvider.state("clients.list", {
    url: "/list",
    templateUrl: "app/client/templates/client-list.tpl.html",
    controller: moduleNamespace.clientListController,
    resolve: {
        clients: function (ClientService) {
            return ClientService.all();
        }
    }
})
// This will replace "clients.list", and show the modal
// I want to just overlay the modal on top of "clients.list"
.state("clients.add", {
    url: "/add",
    onEnter: function ($stateParams, $rootScope, $state, ngDialog) {
        ngDialog.open({
            controller: moduleNamespace.clientAddController,
            template: "app/client/templates/client-add.tpl.html"
        });

        $rootScope.$on("ngDialog.closed", function (e, $dialog) 
              if ($state.current.name !== "clients.list") $state.transitionTo("clients.list");
        });
    }
})

Thanks


我认为正确的解决方案是这样的:

$stateProvider.state("clients.list", {
    url: "/list",
    templateUrl: "app/client/templates/client-list.tpl.html",
    controller: moduleNamespace.clientListController,
    resolve: {
       clients: function (ClientService) {
          return ClientService.all();
      }
    }
})
.state("clients.list.add", {
    url: "^/add",
})

重要的事情都是我做的/add绝对通过添加^。大多数人都会这样做/list/add因为嵌套状态的默认行为是将它们添加在一起......^绕过这个。您还需要在状态加载样式上设置此内容,使其成为“模态”并且位于其他内容之上。

然后里面clients.list说明您需要更新/client-list.tpl.html拥有一个ng-view它将在父视图之上设置自身的样式。

如果需要的话,我可以创建一个 plunkr,但如果我这样做了,我基本上就是在为你实现一切。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular UI-Router 模式删除父状态 的相关文章

随机推荐

  • Json提取和使用数据(node.js)

    我如何访问这些数据 这是我的 Json 6a768d67 82fb 4dd9 9433 d83dbd2f1b78 name Bahut 11 timestamp 1380044486000 value false 4f4a65e4 c41b
  • 从 WP7 上传 XML 文件,可能吗?如何上传?

    我正在研究一个系统 用户可以将 xml 文件上传到网站以供其他人稍后下载 我在这个部门的经验很少 真的不知道从哪里开始 所以这是一个相当简单的问题 我该如何实施这样的事情 我需要 ASP 托管还是其他东西 是的 您需要某种形式的网站 服务托
  • Angular JS 类型号在 Firefox 中不起作用

    请检查此代码
  • 无法将 TextMeshPro 文本获取到 Unity 中的变量槽

    using TMPro public TextMeshPro livesText public TextMeshPro scoreText 我无法将文本从层次结构拖动到检查器中的变量槽 为什么会这样 请帮忙 你似乎在谈论一个TextMesh
  • Swift 3.0 - 用手指在 imageView 上绘图

    我一直致力于使用 swift 3 0 在图像视图上绘制红线 并遇到了一些问题 正如您可能猜到的那样 我正在使用堆栈溢出中的一些代码来帮助我进行第一次初步尝试 但遇到了一个奇怪的错误 当我在图像视图上拖动手指时 它确实绘制了一条红线 但对于每
  • currentUser() 不是工作类型,为什么我看到表达式的计算结果不是函数,因此无法调用它

    我是 Flutter 的新手 我正在开发一个简单的身份验证应用程序 当我注册时 我应该导航到聊天屏幕 并且我想获取当前用户 但是当我调用 FireBaseAuth instance currentUser 时 我得到了一个异常 表达式的计算
  • 获取传递给函数的所有参数和值

    我有一个Python函数 fetch data 它会访问远程 API 获取一些数据 然后将其包装在响应对象中返回 它看起来有点像下面这样 def fetch data self foo bar baz kwargs response Res
  • Google Apps 脚本的 V8 运行时 [重复]

    这个问题在这里已经有答案了 上周谷歌发布了新的Runtime 谁知道使用哪个版本的 V8 或 ECMAScript As per 将脚本迁移到 v8 文档 V8 标准 合规 但是 当将脚本迁移到 V8 时 可能会出现以下情况 一些不兼容的情
  • 为什么声明顺序对于通用成员很重要?

    今天我注意到以下内容无法编译 open System type MyType member this Something this F 3 this F boo This expression was expected to have ty
  • 使用 Google Maps JavaScript API v3 突出显示某个区域

    我想突出显示如下图所示的区域 该区域取自谷歌地图 使用当前版本的 API v3 可以实现这一点吗 如果是 怎么办 提前致谢 您需要知道该区域的顶点并根据它们创建多边形 但多边形目前不支持虚线描边 如果您需要虚线描边 则必须根据顶点创建具有不
  • 画布内部的 tkinter 框架未扩展以填充区域

    我有一个可滚动框架类 是从我发现的一些代码中借用的 但我无法调整它以满足我的需求 它是由 pack 管理的 但我需要使用 grid 所以我简单地打包了一个框架 self region 到它里面 这样我就可以在里面网格我的小部件 但是 该框架
  • jQuery(this) 和外部接口

    大家好 我有ExternalInterface 来调用javascript 函数 但是我现在如何使用 jQuery 来定位调用该函数的 swf 例如 我使用ExternalInterface 调用 changeObject 函数 我如何让
  • Java - 创建新文件,如何使用方法指定目录?

    我知道如何写一个file执行以下操作到指定目录 public void writefile try Writer output null File file new File C results results txt output new
  • PushViewController 花费太多时间来显示视图

    我有一个非常轻的 ViewController 它在 viewDidLoad 中什么也不做 我将此视图推到导航控制器之上 执行此操作的方法是从块内部调用的 调用 showView 后 我添加了一个 NSLog 该日志在控制台中打印得非常快
  • 在单独的 .kv (Kivy) 文件中定义的屏幕之间切换

    我曾经通过在单个 kv 文件中定义所有内容 包括屏幕 来设法使多屏幕程序运行 通过使用root current 在 kv 文件中 或self root current 在 Python 文件中 我能够在屏幕之间切换 然而 一旦存在多个包含许
  • 在用户交互之前,dgrid 0.4.0 树看起来很平坦

    尝试使用 dgrid 0 4 0 显示树结构 没有使用过以前版本 0 3 x 的经验 我用两个文件夹构建了这个示例 alice 和 bob 每个都会有一些文件 叶子 商店 astore js define dojo base declare
  • 如何在 bazel 中为 Python 和 pip 选择运行时?

    我正在尝试在 Ubuntu 20 04 上构建一个应用程序 其中 python3 指向 Python3 8 并且我正在构建 aganist Python3 6 我在 WORKSPACE 的同一目录中有以下运行时 cat BUILD baze
  • 连接/聚合字符串的最佳方法

    我正在寻找一种将不同行的字符串聚合到一行中的方法 我希望在许多不同的地方做到这一点 所以有一个函数来促进这一点会很好 我尝试过使用解决方案COALESCE and FOR XML 但他们就是不适合我 字符串聚合会做这样的事情 id Name
  • 如何从通过 XMLHttpRequest 接收的 html 页面创建 DOM 对象?

    我正在开发一个 chromium 扩展 因此我对我请求权限的域具有 XMLHttpRequests 的跨主机权限 我使用了 XMLHttpRequest 并获得了一个 HTML 网页 txt html 我想使用 XPath document
  • Angular UI-Router 模式删除父状态

    我正在开发一个具有 ui router 模块的角度应用程序 当进入路由器的某种状态时 我会显示一个模式对话框 然后它会替换我的父视图 我想保留父视图并将模式显示为叠加 有没有办法用 ui router 做到这一点 举个例子 statePro