带有参数的 Emberjs 路由在某些情况下会失败

2024-01-06

在某些情况下,我遇到了路由 url 的问题。这是我的路由器:

contacts: Em.Route.extend({
    route: '/contacts',

    index: Em.Route.extend({
        route: '/',
        connectOutlets: function(router, context) {
            App.contactsController.populate()
            var appController = router.get('applicationController');
            appController.connectOutlet('contactsList');
        }
    }),

    show: Em.Route.extend({
        route: '/:contactid',
        connectOutlets: function(router, context) {
            alert('show contact');
        }
    }),

    doShowContact: function(router, event){
        router.transitionTo('show', {contactid: event.context.id});
    }
}),

当我进入 doShowContact 内部时,如果我指定'联系人ID'作为上下文和'/:联系人ID'作为“show”内的路线,我会得到例如'/联系人/3'在浏览器网址中,一切正常。

但是在 doShowContact 中,如果我指定'联系人 ID'而不是'联系人ID'作为上下文和'/:contact_id'而不是'/:联系人ID'作为路线。我去拿'/联系人/未定义'在浏览器网址中。

有办法解释吗?谢谢!


您应该简单地传递联系人实例,而不是伪造对象contactid财产:

doShowContact: function(router, event) {
  var contact = event.context;
  router.transitionTo('show', contact);
}

您还应该指定modelClass您的路线中的财产:

show: Em.Route.extend({
  route: '/:contact_id',
  modelClass: App.Contact,

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

带有参数的 Emberjs 路由在某些情况下会失败 的相关文章

  • Ember.js 在特定页面上包含外部脚本

    我试图弄清楚如何包含外部 javascript 源 图表 但仅限于网站上的单个页面 可以在视图或模板中完成吗 我发现只需添加页面模板不起作用 如果我将它添加到整个网站的模板中 它加载得很好 但是它会加载到每个页面上 我的问题的另一面可能更具
  • 防止回车键触发按钮

    我有一个搜索输入框 当用户按下 Enter 时不需要执行任何操作 我正在使用 EmberJS 和 Jquery 以及以下代码 目前 它可以禁止触发弹出窗口 但由于某些原因 在 IE9 中 当按下 Enter 键时 切换按钮将成为焦点 在 C
  • Ember Data:重写 Save 方法

    您好 Ember 数据世界 我一直在研究自定义适配器 试图找出如何覆盖保存方法 根据我的理解 你似乎需要做这样的事情 DS RESTAdapter extend save function return this super 但是 当我尝试
  • 如何在apache服务器中部署ember-cli项目

    我有以下问题 我使用 ember cli 创建了一个 ember 应用程序 该应用程序通过 url 在 nodejs 上运行良好http localhost 4200 运行命令时ember serve 我想在 apache httpd 服务
  • 未捕获的类型错误:运行 QUnit 测试时无法调用未定义 Ember 数据的方法“extractId”

    我越来越 Uncaught TypeError Cannot call method extractId of undefined 使用 QUnit 运行集成测试时 失败的测试 module Points setup gt App rese
  • 将子记录渲染到特定的出口

    我有这个工作示例jsfiddle http jsfiddle net bazzel SM5VM 我显示的列表Posts 当一个Post选择后 我会在帖子模板的出口中显示详细信息 到目前为止没有问题 由于每Post has many Comm
  • 使用(现在默认)Ember Data JSON-API 适配器处理错误

    我使用的是 Ember 1 13 7 和 Ember Data 1 13 8 它们默认使用 JSON API 标准来格式化发送到 API 和从 API 接收的有效负载 我想使用 Ember Data 的内置错误处理来向用户显示红色 错误 表
  • 在车把模板中显示 hasMany ember 关系中的第一项

    我需要显示 hasMany 关系中的第一项 基本上一个线程可以有多个作者 但我只需要在特定模板中显示第一个作者 我有以下 json threads id 1 authors 2 3 authors id 2 fullname foo id
  • Ember 组件在路由或控制器中调用操作

    我有一个组件 其主要目的是显示一行项目 每行都有一个删除按钮 可以删除一行 如何将操作从模板传递到将在路由器中触发操作的组件 这是使用该组件的模板 templates holiday hours hbs each model as holi
  • 特定模型的自定义 REST url

    Ember 有没有办法为特定模型配置自定义 REST url 就像这个模型一样 App Post DS Model extend title DS attr string comments DS hasMany App Comment Ap
  • 您在一次渲染中修改了 *** 两次

    升级到 1 13 后 出现此异常 但我不知道问题出在哪里 我也找不到任何有用的资源来解决我的问题 我在另一个计算属性中设置的属性会发生这种情况 但这个属性肯定只被调用一次 我创建了一个 jsbin 示例 http emberjs jsbin
  • 告诉 ember.js 对其模型的“id”使用不同的密钥

    我陷入了不应该回来的境地idAPI 端点中的字段 我需要告诉 ember 使用slug字段为 而不是id I tried DS RESTAdapter map App Post id key slug 虽然这对于App Post find
  • 使用 store.findQuery 时捕获 404 错误

    我正在使用余烬findQuery方法并想知道如何在没有结果时捕获 404 错误 this store findQuery customer hasProjects true getArchivedProjects archived then
  • 是否可以使用脚本标签加载车把模板?或者在 Ember.js 中以编程方式定义车把模板

    很简单 我不想在 html 文件中定义所有车把模板 我试过这个 但这没有用 我是否可以不以编程方式定义模板 甚至只是加载车把文件 以便我可以重用 而且我觉得这使事情更易于维护 我尝试用 ajax 加载它们并将它们附加到头部 这工作正常 我可
  • EmberJS:如何为 ember-data RESTAdapter 中的模型提供特定的 URL?

    问题一 如果我有一个名为 Company 的余烬数据模型 我如何告诉它点击 businesses and businesses id而是检索记录 有没有办法指定给定模型的 url 更好的是 像 BackboneJS 一样 我可以在运行时计算
  • EMBER直接路由URL访问不加载数据

    当我直接从浏览器访问我的网址时遇到问题 它不会加载我的单一帖子信息 示例 index html posts 10052308 但当我访问 index html posts 然后单击我的一篇文章时 它会起作用 我的网址会更改为 index h
  • 绑定 Ember TextField 中的计算属性

    我正在尝试将我的数据模型绑定到 Ember js 中的文本字段 该模型有一个表示货币值的字段 例如 1 000 50 然后用户可以更改该值 Ember 接收数字 1000 50 形式的数据 非货币格式 我将视图绑定到具有良好格式的计算属性
  • 如果 POST 响应仅包含 ID,如何将数据保存到我的 Ember 存储?

    Ember 数据期望我的服务器在每次成功后返回完整的对象POST 但是 我的 API 只返回一种元对象 其中包含id 当 Ember 收到此对象时 记录中的现有数据将被删除 除了id 例如 当我这样做时 var asset App Asse
  • 有没有办法在 ember 商店中的任何 ember 模型更改上设置观察者?

    首先 我使用的是ember 2 我正在请求后端 它返回一些数据 然后 我将这些数据推送到 ember 存储中的模型 问题是我想在更新此模型时执行一些操作 那么 有没有办法在店里观察模型呢 先感谢您 findAll返回实时数组 因此我们可以为
  • 加载 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

随机推荐

  • 显式设置枚举字段值的优点和缺点

    显式设置枚举的字段而不是仅仅定义它们的名称是否更好 例如 Enum1 与 Enum2 有什么优缺点 Enum1 enum SomeEnum Something1 0 Something2 1 Enum2 enum SomeEnum Some
  • 如何在 Postgres 中使用时间戳字段对日期进行分组?

    假设我有 3 行数据 id product uuid version uuid created at 22 586d8e21b9529d14801b91bd 5a711a0094df04e23833d8ef 2018 02 10 19 51
  • 按顺序使用异步方法运行函数

    我有一个函数数组 里面有异步方法 我想创建一个函数 它接受函数数组并按顺序执行该函数 我不知道如何实现它 感谢帮助 这些函数不是异步的本质上 它是每个函数内部的方法 例子 function task1 console log task1 s
  • 模型缺少“image_file_name”所需的 attr_accessor - Ruby on Rails 4

    当我发布新聚会时 我收到以下错误消息 派对模型缺少 image file name 所需的 attr accessor它指向我的 party controller rb 中的代码 def create party Party new par
  • LLDB 中有 Quicklook 调试命令吗?

    假设我有一个UIImage我正在设置一个UIButton 我想在 Quicklook 中查看它 但是哦不 我无法快速查看调试图像是什么 但我可以从 LLDB 做一些事情来获取图像 比如 getAppButton imageForState
  • 从 PyQt 小部件项设置和获取“数据”?

    这与其说是一个问题 不如说是一个要求解释的请求 我正在关注 Mark Summerfield 的 使用 Python 和 Qt 进行快速 GUI 编程 我一定错过了一些东西 因为我无法理解以下机制将我正在使用的真实 instance ite
  • 确定 cmake_minimum_required() 的适当版本

    从一组CMakeLists txt文件 我如何确定适当的版本号cmake minimum required 还有比熟悉 CMake 功能的历史并使用反复试验更好的方法吗 CMake 有每个版本的文档 https cmake org docu
  • 如何在 WPF 中将按钮中的图像设置为每 30 秒摇动一次?

    我不擅长处理任何样式和动画 我希望能够获得一些帮助来制作一个图像 该图像是按钮的唯一内容 当按钮可见性设置为 Visibility Visible 时 每 30 秒震动一次 这是为了引起用户的注意 鼓励他们点击按钮 我更愿意将其作为图像上的
  • Lodash 去抖动不起作用

    const debounce require lodash debounce gt console log testing 1000 leading true trailing false 上面的代码不起作用 https lodash co
  • 共享异常实例是否安全

    我们正在制作一个类似Excel 的系统 当我们打开文档并发现不支持的功能时 我们会抛出异常 我们只支持一小部分 Excel 函数 这种情况可能会经常发生 问题是 当有很多单元格包含不受支持的功能时 就会创建大量异常实例 创建这么多异常实例会
  • cygwin 中的 aws cli - 如何清理 Windows 和 cygwin 样式路径中的差异

    我怀疑这是我在正确设置路径变量方面的无能 但我不知所措 我已经在 cygwin 中使用 pip 安装了 aws cli pip install awscli 我有两个 python 环境 一个 windows anaconda 发行版 以及
  • github:没有拉取请求的代码审查?

    Using a 共享存储库模型 https help github com articles about collaborative development models 简而言之 我们希望能够审查代码更改 但是 我们根本不希望拉取请求阻碍
  • 跨环境导出和导入安全权限的最佳方法是什么?

    我们有大量的出版物 目前我们在多个环境 主要是 UAT 和 PROD 中手动应用 CMS 权限 这是很乏味的 而且经常容易出错 我们正在尝试跨多个环境导出和导入 CMS 权限 因此可以手动完成一次 然后使用某种工具移植到其他环境 环境 Tr
  • 如何在 Azure 函数中接收多部分表单数据?

    我想在 Azure Function 中接收包含图像和文本的多部分数据 我可以看到很多 C 和 Node 中的示例节点链接 https www builtwithcloud com multipart form data processin
  • 为什么 MutationObserver 代码不能在 Chrome 30 上运行?

    From http updates html5rocks com 2012 02 Detect DOM changes with Mutation Observers http updates html5rocks com 2012 02
  • 在 Android 浏览器中使用 HTML5 播放音频

    我想在以下位置播放音频Android浏览器 使用html5
  • 如何折叠 CSS 网格中未使用的行?

    因此 我在移动设备上有一个由三个段落组成的简单堆栈 我想在较大视口上的网格中设置样式 而不更改源顺序 第一部分可能有几行内容 也可能根本没有内容 在这种情况下 如何使第一行折叠以便第二行填充空间 IE 当顶部部分为空时 最后一个部分应出现在
  • 将数据插入3个相关表中

    如何将数据插入3个相关表 SQL Server 例如 我有表 Customer Address 将数据插入到 客户 和 地址 后 如何将 客户 和 地址 中的 ID 插入到 客户地址 中 连接表 Thanks Use 范围标识 http m
  • 在面板中绘制不同数据帧的同一列

    我从模拟中获得了数据 该数据为我提供了存储在 DataFrame 中的一些值 100 行 x 6 列 对于不同的起始值 我将数据保存在面板中 2 个数据框 x 100 行 x 6 列 现在我想比较两个模拟中名为 A 的列 名为 Sim1 和
  • 带有参数的 Emberjs 路由在某些情况下会失败

    在某些情况下 我遇到了路由 url 的问题 这是我的路由器 contacts Em Route extend route contacts index Em Route extend route connectOutlets functio