在 ember.js 中定义多分段 catch all 路由

2024-07-03

我正在使用 Ember.js,我想创建一个捕获所有路由,以便在用户导航到与资源不匹配的 URL 时将其发送回应用程序的根目录。 (我正在使用历史API)我已经这样实现了:

App.Router.map(function() {
    this.resource('things', function() {
        this.resource('thing', {path:':thing_id'}); 
    });
    this.route('catchAll', { path: ':*' });
    this.route('catchAll', { path: ':*/:*' });
    this.route('catchAll', { path: ':*/:*/:*' });
});

App.Router.reopen({
  location: 'history'
});

App.CatchAllRoute = Ember.Route.extend({ 
    redirect: function() {
        this.transitionTo('index'); 
    }
});

App.IndexRoute = Ember.Route.extend({ 

});

我的问题是:我是否可以定义一条捕获所有路由来匹配任何未解析为资源的路径,而不管路径中的段数如何?

我正在使用 Ember.VERSION:1.0.0-rc.1


经过一番摆弄后,我想我找到了解决方案:*:似乎可以解决这个问题,就像

this.route('catchAll', { path: '*:' });

我设置了这把小提琴 http://jsfiddle.net/cenic/XNyme/4/演示它是如何工作的。

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

在 ember.js 中定义多分段 catch all 路由 的相关文章

  • 在 #each 内渲染视图

    每当我尝试在 each 块内渲染视图时 我都会收到一条 PrecompilationError 消息 Compiler said Error each doesn t match view Example each posts view A
  • 在哪里放置固定装置?

    我应该在使用 ember cli 生成的 Ember JS 应用程序中的哪里定义固定装置 我尝试过很多地方 例如app js并在一个名为 fixtures 的文件夹中 经过一番挖掘后我发现改变Ember MODEL FACTORY INJE
  • 将检索到的 Ember 数据记录转换为普通对象的 Ember 方法是什么?

    我使用以下方法检索了一系列记录var items store find model 返回的对象是一个实例RecordArray 并包含多个条目 每个条目都有一个 Ember 对象 允许我在记录中获取和设置属性 一切看起来都不错 现在我需要将
  • 未捕获错误:找不到从“ui/app”loader.js 导入的模块“ember”:164

    我使用以下命令构建并提供我的 ember 应用程序 ember build ember serve 两者都按预期工作 然后我转到以下 localhost 4200 URL 查看应用程序 并在 javascript 控制台中看到以下错误 Un
  • Ember:error.messages 在保存时不显示服务器错误

    当尝试创建新记录时 errors messages不渲染为文档中描述 http emberjs com api data classes DS Errors html 也就是说 控制台确实呈现了错误Error The backend rej
  • 加载 Ember.View 的内容后初始化 jQuery 插件

    DEBUG Ember VERSION 1 0 0 rc 6 ember js DEBUG Handlebars VERSION 1 0 0 rc 4 ember js DEBUG jQuery VERSION 1 9 1 控制器是一个Em
  • 从 Ember.Route 中访问参数的正确方法是什么?设置控制器?

    Ember Route model可以访问params变量 但是Ember Route setupController才不是 这对我来说很麻烦 因为我的路径有多个动态段 我需要在我的模板中使用它们 具体来说 我的路径如下所示 project
  • Ember 集成测试在访问路线后挂起

    我正在尝试做一个简单的集成测试 我从 ember cli 网站上的集成示例开始 现在 当我在浏览器 localhost 4200 tests 中测试时 以下情况会路由到我期望的位置 但随后它只是挂起并且永远不会成功或失败 import Em
  • 使用 ActiveModel::Serializers 包含两个父 json 数组

    我正在尝试发送如下所示的前端应用程序 json facilities id 5 name happy days ranch location address 1424 Pastoral Lane zipcode 25245 instruct
  • EmberJS 支持单字母单词模型吗?

    我无法真正确定问题是 Ember 还是 Ember 数据 或者甚至是一个问题 但发生的情况如下 假设你的模型被称为tell me a story 如果您使用 ActiveModelAdapter 这将是您的 JSON 应该提供的名称 无论如
  • 如何使用 Ember CLI 在两个组件之间共享模板?

    我有两个组件 SpecialButtonComponent and SpecialButtonDerivativeComponent The SpecialButton组件自动使用位于以下位置的模板 app templates compon
  • Ember 模板中的访问常量

    不确定正确的 Ember Way 是什么来做到这一点 我有以下模板 我想要三个task item list组件实例 每个实例都有不同的taskState价值 显然 我想摆脱神奇的数字 h4 Tasks h4 div h5 Backlog h
  • Ember-data和MongoDB,如何处理_id

    我正在将 ember data 与 Rails 和 MongoDB 一起使用 并且在 MongoDB 中的 id 字段中存储 ID 的方式遇到问题 Ember data 将使用 id 作为 ID 的默认字段 所以我尝试像这样覆盖它 App
  • 如何在 Ember JS 路由中顺序加载多个模型

    在 Ember JS 中顺序加载多个模型的最佳方法是什么 e g App ProductRoute Ember Route extend model function params first call this store find Pr
  • 在 Ember 中调用 App.store.commit() 太快

    在我的应用程序中 我有一个项目列表 以及一个用于删除最后一个项目的按钮 然后在我的控制器上我写了以下操作 removeLastItem gt lastItem current order get items get lastObject l
  • Ember.js - 创建多步骤向导 - 如何?

    我需要创建一个包含多个步骤的向导 每个步骤将显示一个带有选项的表单 并且根据用户的选择 向导应该转到某个步骤 并将用户首选项 选择 存储在某个位置 这些首选项不会保存在模型中 它们仅与模型创建步骤相关 为了提供一些背景信息 其目标是 向用户
  • 路由仅在页面刷新时加载 - Ember JS

    我目前正在学习 Ember 正在制作一个简单的应用程序 但我遇到了一个奇怪的问题 我有一个路线设置 它仅在我重新加载页面时提取数据 这是我的代码 Start Ember application App Ember Application c
  • ember.js 身份验证

    我想用 ember js 实现身份验证 因此 当应用程序启动时 在路由器处理请求的 url 之前 我想检查用户状态 如果用户未经过身份验证 我想保存请求的 url 并重定向到特定的 url login 我尝试实现这个重载 Ember Rou
  • Emberjs Data 稍后如何加载 hasMany-Data

    我有以下 Emberjs 数据模型 App File DS Model extend like DS attr boolean comments DS hasMany App Comment App Comment DS Model ext
  • Qunit 中挂起的 Ember 并发超时

    在 Ember 中 我有一个组件可以启动永无止境的轮询 以保持一些数据最新 就像这样 export default Component extend pollTask task function while true yield timeo

随机推荐

  • 从 json 对象初始化 Typescript 中的 Map

    这个问题在这里已经有答案了 我在 Typescript 中有一个包含地图的类 public map Map
  • 从 json 对象初始化 Typescript 中的 Map

    这个问题在这里已经有答案了 我在 Typescript 中有一个包含地图的类 public map Map
  • Android 圆形按钮可点击区域

    我在 Android Studio 中制作了这个圆形按钮 我使用了自定义背景 问题是图像中突出显示的黄色区域是可单击的 我想将可点击区域减少到仅红色圆圈 有什么办法可以做到这样的事情吗 You cannot删除图像的透明区域 因为它是你形象
  • Android 圆形按钮可点击区域

    我在 Android Studio 中制作了这个圆形按钮 我使用了自定义背景 问题是图像中突出显示的黄色区域是可单击的 我想将可点击区域减少到仅红色圆圈 有什么办法可以做到这样的事情吗 You cannot删除图像的透明区域 因为它是你形象
  • WordPress 网站前端的 CSV 上传(PHP/SQL)

    我在某些领域取得了很大进展 但在其他领域却遇到了困难 目标是 客户正在使用现有的 WordPress 网站 他们希望管理员用户访问带有上传选项的前端页面之一 他们可以在其中上传 CSV 每天几次 然后 在访问门户中的其他页面时 将显示表格中
  • WordPress 网站前端的 CSV 上传(PHP/SQL)

    我在某些领域取得了很大进展 但在其他领域却遇到了困难 目标是 客户正在使用现有的 WordPress 网站 他们希望管理员用户访问带有上传选项的前端页面之一 他们可以在其中上传 CSV 每天几次 然后 在访问门户中的其他页面时 将显示表格中
  • 如何增加 IntelliJ IDEA 上的内存堆大小?

    我想分配大约 1GB 的堆大小 但我似乎无法弄清楚 这个怎么做 Use Help 编辑自定义虚拟机选项 右侧会自动打开一个编辑器 vmoptions文件 调整值 Xmx 保存并重启IntelliJ IDEA 查看 IntelliJ IDEA
  • 如何增加 IntelliJ IDEA 上的内存堆大小?

    我想分配大约 1GB 的堆大小 但我似乎无法弄清楚 这个怎么做 Use Help 编辑自定义虚拟机选项 右侧会自动打开一个编辑器 vmoptions文件 调整值 Xmx 保存并重启IntelliJ IDEA 查看 IntelliJ IDEA
  • 为简单的 hadoop mapreduce 作业运行两个映射器和两个减速器

    我只是想更好地了解如何使用多个映射器和化简器 我想使用一个简单的 hadoop mapreduce 字数统计作业来尝试一下 我想为这个字数统计作业运行两个映射器和两个化简器 我是否需要这样做在配置文件上手动配置 或者仅对 WordCount
  • 为简单的 hadoop mapreduce 作业运行两个映射器和两个减速器

    我只是想更好地了解如何使用多个映射器和化简器 我想使用一个简单的 hadoop mapreduce 字数统计作业来尝试一下 我想为这个字数统计作业运行两个映射器和两个化简器 我是否需要这样做在配置文件上手动配置 或者仅对 WordCount
  • React Native 应用程序 - 在 Android 8 真实设备上启动时崩溃/关闭

    我有一个 React Native 项目 不是 Expo 初始化为react native init myapp 我可以在装有 Android 5 的模拟器和真实设备上运行此应用程序 但无法在装有 Android 8 的 Android 手
  • React Native 应用程序 - 在 Android 8 真实设备上启动时崩溃/关闭

    我有一个 React Native 项目 不是 Expo 初始化为react native init myapp 我可以在装有 Android 5 的模拟器和真实设备上运行此应用程序 但无法在装有 Android 8 的 Android 手
  • 是否可以导出为 CSV 并让标题包含空格?

    我需要将 SSRS 2005 报告导出为 CSV 其中列标题包含空格 目前 CSV 标题列标题源自 textBox 属性名称 并使用下划线而不是空格 还有其他更好的方法吗 例如 目前我有 SSRS 报告标题 生效日期 文本框名称 生效日期
  • 是否可以导出为 CSV 并让标题包含空格?

    我需要将 SSRS 2005 报告导出为 CSV 其中列标题包含空格 目前 CSV 标题列标题源自 textBox 属性名称 并使用下划线而不是空格 还有其他更好的方法吗 例如 目前我有 SSRS 报告标题 生效日期 文本框名称 生效日期
  • 小数可以表示的第二个最小值是多少?

    什么是第二个最小值值一个decimal可以代表吗 该值大于Decimal MinValue并且小于任何其他值decimal可以代表 在C 中如何获取这个值 谢谢 第二个最小值是Decimal MinValue 1 这可以从文档中推断出dec
  • 小数可以表示的第二个最小值是多少?

    什么是第二个最小值值一个decimal可以代表吗 该值大于Decimal MinValue并且小于任何其他值decimal可以代表 在C 中如何获取这个值 谢谢 第二个最小值是Decimal MinValue 1 这可以从文档中推断出dec
  • 让qmake默认使用qt5

    我的 Linux 系统上有 qt4 和 qt5 默认使用qt4 有什么干净的方法可以改变它 以便 qmake 默认使用 qmake qt5 系统可能有不同的元包来处理默认值 例如在 Debian 上有一个qt4 default and a
  • 让qmake默认使用qt5

    我的 Linux 系统上有 qt4 和 qt5 默认使用qt4 有什么干净的方法可以改变它 以便 qmake 默认使用 qmake qt5 系统可能有不同的元包来处理默认值 例如在 Debian 上有一个qt4 default and a
  • 在 ember.js 中定义多分段 catch all 路由

    我正在使用 Ember js 我想创建一个捕获所有路由 以便在用户导航到与资源不匹配的 URL 时将其发送回应用程序的根目录 我正在使用历史API 我已经这样实现了 App Router map function this resource
  • 在 ember.js 中定义多分段 catch all 路由

    我正在使用 Ember js 我想创建一个捕获所有路由 以便在用户导航到与资源不匹配的 URL 时将其发送回应用程序的根目录 我正在使用历史API 我已经这样实现了 App Router map function this resource