问题标签 [ember-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Ember - 自动重定向到 firstObject
我想要一个 Ember 路径/clinic/1
来自动重定向以显示第一个医生:/clinic/1/doctor/1
.
每个诊所都有很多医生。
不幸的是,如果我使用此代码:
content.doctors.length
...它不起作用,0
当这段代码在app_router.js
.
有任何想法吗?
ember.js - 在 ember 路由器 v2 中使用非 ID 动态参数
有没有人在新的 ember 路由器中使用非 ID 参数?
回到旧版本的路由器,这似乎更容易做,因为您可以访问路由上的序列化和反序列化方法。实际上,您理论上可以将模型的非 ID 属性反序列化为 params 哈希,并且您可以分别使用路由上的反序列化和序列化方法从该非 ID 属性序列化对象。据我了解,序列化和反序列化方法不再是公开的,这使得处理起来有点棘手。
ember.js - 使用 Ember 路由器 v2 进入和退出模态状态的正确方法是什么?
我无法找出使用新 Ember 路由器处理模态状态/视图的正确方法。更一般地说,您如何处理可以进入和退出而不影响“主要”状态(URL)的状态?
例如,无论当前叶子状态如何,始终可用的“新消息”按钮。单击“新消息”应在当前视图上打开新消息模式,而不会影响 URL。
目前,我正在使用这样的方法:
路线:
application.handlebars:
为了简洁起见,我显然省略了一些代码。
这种方法“有效”,但存在上述两个问题:
- 我正在使用私有 API 来删除
hideModal
事件处理程序中的模式视图。 - 我需要
application
在我的所有子路由中指定模板,因为如果我不这样做,renderTemplate
如果您打开模式,关闭它,然后在收件箱之间导航,默认实现将尝试呈现到模式的模板而不是应用程序中和存档状态(因为模态的模板已成为lastRenderedTemplate
IndexRoute 的模板)。
显然,这些问题都不是破坏者,但很高兴知道我是否缺少更好的方法,或者这只是当前路由器 API 中的一个差距。
ember.js - Ember.js 新路由器导航错误消息:错误:断言失败:无法在未定义的对象上调用带有 'id' 的 get
我一直在尝试新的路由器和新的 Ember 代码(版本:v1.0.0-pre.2-366-g4772b18),我有点麻烦。我想做一件简单的事情:当我点击一个链接时,它应该导航到那个状态。
但是我得到了这个错误:
断言失败:无法在未定义的对象上调用带有“id”的 get。
要触发错误,请单击大红色标题。顶部的第一个 - 上面写着“Ember Ready”。
我没有 JSFiddle,但你可以在这里查看实时站点:http://eduardmoldovan.com/我基本上在那里推送了相同的代码。
我的代码:
像这样一个简单的动作:{{action goToArticle}}
我真的不明白谁想叫什么。对此有任何想法吗?我一直在寻找答案或例子,但没有幸运。
ember.js - Ember.js 新路由器“历史”实现
我想我检查了所有文档,但我不能使用路由器的“历史”实现。任何人都有一个关于如何使用它的简短示例?或者,一般来说,应该如何将路由器参数传递给新路由器(例如也记录日志)。
ember.js - 新的 ember.js 路由:如何连接网点?
我很困惑如何使用新的路由器方法连接插座。
索引.html:
应用程序.js:
此代码呈现 outlet-1。
问题:
- 为什么要渲染 outlet-1?出口 1 和“索引”如何连接?
- 如何将插座 2 和 3 连接到同一个“索引”站点?
谢谢
咪咪
ember.js - 在最新的 Ember 中,如何仅使用模型的 id/名称链接到路由,而不是在链接页面中提供其所有属性?
我在从 Ember 1.0-pre2 转换到最新的 master ( 43354a98 ) 和新路由器时遇到了一个问题,即——
如果我有一条仅加载一堆记录的名称和 ID 的路线,并尝试将这些记录中的每一个链接到另一个应该显示完整模型的路线,当我到达新路线时,新模型永远不会加载, name 和 ID 是唯一可用的属性。
示例代码:
其中 App.Bird.find() 运行一些 XHR 以从一组远程 API(不使用 ember-data)构建 Ember.Object。为了简化问题,鸟类列表被硬编码到这个例子的控制器中;在我的真实应用程序中,列表来自远程 API。
我看到的行为是,如果您从 /birds 开始并单击其中一个链接,路由器将转换为“bird”,然后您到达 /#/birds/b.5,但 App.Bird.find() 是从来没有打电话,我在页面上唯一的数据是“姓名”和“身份证”。但是,如果您随后重新加载页面,它会调用 App.Bird.find() 并正确构建并显示模型。
是否有某种方法可以强制从 URL 中的 ID 进行反序列化,或者只是将 ID 传递给 linkTo 而不是它将假定为完整的对象?我有一个类似的实现可以在旧路由器上正常工作。
ember.js - 在 ember v2 路由器中,为什么 controllerFor() 不提供对该控制器的引用?
这是小提琴。
http://jsfiddle.net/inconduit/hf7XM/10/
重现问题的步骤:
- 点击“转到帖子”。
- 单击“controllerFor”文本,它不会清除列表。
- 单击全局参考文本,它将清除列表。
似乎返回的控制器引用controllerFor()
实际上不是PostsIndexController
? 这是为什么?
我在setupController()
Route 的挂钩中对其进行了破解,以便在 App 上设置对该控制器的全局引用,当我将该引用上的内容设置为 in 中的新数组时emptyList2()
,该列表在模板中正确清除。
我用controllerFor()
错了吗?还是误解了它返回的内容?这是范围界定问题吗?请帮帮我。
ember.js - Ember.js 新路由器自定义 slug 使用
我正在使用这个路由器代码:
我需要以某种方式在serialize
方法中获取单击的元素 url,以便我可以从模型中获取该文章的数据。我看起来很明显应该如何在 an 的情况下执行此操作,id
但我不知道如何使用url
.
templates - 如何使用 Ember.Handlebars.compile() 在类定义中声明 Ember 模板?
在最新的 ember 主版本中,我试图声明一个类似于这样的模板:
..它不工作。使用相同的代码并使用该templateName
属性在 HTML 中引用模板可以正常工作。有任何想法吗?
这是一个带有周围代码和 HTML 的 jsfiddle:http: //jsfiddle.net/TTMMz/3/