当前位置: 首页 > 面试题库 >

在角度ui路由器URL中添加可选属性

万修然
2023-03-14
问题内容

有没有办法在ui-router中的url开头具有可选属性?如果是这样,怎么办?

我想实现以下目标:

.state('events',{
    url: '(/city:)?/events/:id'
    ...
})

因此, “城市” 将是可选的。

谢谢您的任何投入。


问题答案:

有两个单独的路由指向同一状态可能是一个坏习惯,但是没有什么可以阻止您创建使用相同分辨率/控制器/模板的两个不同状态。

$stateProvider
.state('state1', {
  url: "/:city/events/:id",
  templateUrl: "partials/events.html",
  controller: eventsCtrl
})
.state('state2', {
  url: "/events/:id",
  templateUrl: "partials/events.html",
  controller: eventsCtrl
});

function eventsCtrl($scope){
  // shared controller
}

同样,这可能是不好的做法,但我想不出更好的解决方案



 类似资料:
  • 问题内容: 角度ui路由器的示例演示在起始页面具有以下链接: “ ui-router”的完整网址为或 “关于”的完整网址为或 当我使用durandalJS时,存在一个限制,即默认URL只是“ /”,不能有“ / ui-router”。 Angular ui路由器插件有相同的限制吗? 问题答案: 请参阅此处,默认路由有一个“其他”选项。

  • 是否可以在 Angular 2 路由中具有可选的路由参数?我在RouteConfig中尝试了Angular 1.x语法,但收到以下错误: “原始异常:路径“/ user /: id ?“包含”?

  • 问题内容: 我试图在UI-Router router.js文件中延迟加载控制器和模板,但是在模板处理上遇到困难。 控制器已正确加载,但是在加载之后,我们必须加载模板,这就是问题所在。 ocLazyLoad加载控制器后,我们解析了一个Angular Promise,它也包含在templateProvider中。问题在于,在文件加载完成后,不是返回诺言(templateDeferred.promise

  • 问题内容: 使用ui- router并将父状态URL设置为导致我的URL看起来像在查看子页面时一样。我只想在散列和子项之间添加一个。 我尝试将父状态网址保留为空白,但是使用锚链接时,ui-sref不会链接回父状态。有人知道使用根级别未命名的父URL的解决方案吗? app.config child.config 问题答案: 将有解决方案 _(几乎)_任何东西。有一个工作的plnkr。我们将要使用的功

  • 问题内容: 我想用以下结构构建一个站点header-view,main-view,footer- view。因此,我定义了一个包含页眉和页脚的根路由。root的子代将是我的全部站点。在这些站点中,我将拥有更多的嵌套视图。 在下面的代码中,它确实显示了页眉,但未显示页脚和主视图。一旦删除父级继承,它将显示主视图,但不显示页眉和页脚。 的HTML JS 问题答案: 有一个与正在工作的矮人有关的链接。

  • 问题内容: 更新 :从开始,这应该在angular-ui- router中是可能的。请参阅发行说明https://github.com/angular-ui/ui- router/releases/tag/1.0.0alpha0 和问题https://github.com/angular-ui/ui- router/issues/1018 I创建。 在解决问题时,我想访问该应用导航到使用角度ui路