问题标签 [ember-old-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.

0 投票
1 回答
1052 浏览

javascript - Ember.js - 接口状态应该存储在哪里?

是否有关于接口状态(而不是持久模型状态)应该存在于 Ember.js 应用程序中的官方故事?

在路由器文档的“响应用户发起的事件”部分中,有一个将点击事件委托给照片的“showPhoto”方法的示例,但是让模型“显示”本身似乎是不合需要的关注点混合。

我知道在许多情况下,状态应该存储在路由器中,以便接口状态在 URL 中表示,并且如果您刷新页面或将 url 发送给某人,则会恢复。但是非分层状态,例如页面上选择的项目列表呢?

理想情况下,该类型的状态将被序列化为查询/哈希参数(例如:http ://www.hipmunk.com/flights/QSF-to-NYC#!dates=Sep15,Sep16p1;kind=flight&locations=QSF,YYZ&dates=Sep15 ,Sep23~tab=1 ) 但据我所知,路由器不提供该功能,是吗?

在 BackboneConf,Jeremy Ashkenas 说,在 Backbone 中做到这一点的正确方法是将状态也存储在模型上(他有一个带有“选定”字段的模型示例)。但我相信 Tom Dale 说他认为这不是一个好主意,而不是在 Ember 中应该如何做。不幸的是,我不记得他提到应该怎么做。

0 投票
1 回答
625 浏览

ember.js - Ember.Router 无法响应状态为 root.paginated 的事件 paginateUsers

我有一个相当大的例子,但问题是当我第一次过渡到分页路线时 - 一切都很好。但是,如果我尝试单击另一个(启动分页事件),我会收到以下错误

我没有 jsfiddle,因为这是使用 ember-data 并且对象数据绑定到我的 REST 端点。

ember 版本是 pre 1.0,使用最新的 ember-data + handlebars-1.0.0.beta.6 和 jQuery 1.7.2

未捕获的错误:无法响应状态为 root.paginated 的事件 paginateUsers。

这是我的模板和 ember 应用程序

0 投票
1 回答
1741 浏览

ember.js - 如何使用不需要所有参数的 ember.js 构建嵌套路由?

我有一个嵌套的路由结构,它允许分页/排序/搜索,这实际上会以某种方式调整 ArrayController。我对当前实现的问题是,一切都需要得到一个有效的页面来呈现。

如果我只通过页面,我会收到错误

未捕获的错误:断言失败:找不到路径的状态

我是否在嵌套路由中遗漏了某些内容,或者我是否需要将排序/搜索标记为可选?

0 投票
1 回答
674 浏览

ember.js - 如何使用 ember.js 创建一个指向具有文本值的路由的操作助手

我正在使用 ember pre 1.0 编写一个简单的排序/分页控制器。当用户单击表格上的列标题时,我想更改控制器上的排序属性。我有一个简单的动作助手,它指向我的路由器 sortUser 方法,但我似乎无法传递路由可以用作参数的原始字符串,例如“用户名”或“id”

我的网址也似乎坏了(获取此网址)

代替

先感谢您

这是我的路由器(消除了一些复杂性,但它是嵌套路由)

更新

我现在有一个完整的jsfiddle(沿着侧过滤器+分页排序)

0 投票
2 回答
895 浏览

ember.js - Ember.js:在控制器之间共享对象或在彼此之间共享控制器

对于我拥有的路线/仪表板, DashboardController和DashboardView中的 2 个不同的命名插座。

/dashboard RouteconnectOutlet如下所示

现在点击DashProjectsView中的项目(项目),应该更新 ProjectSummaryView 。

在控制器之间共享对象(在本例中为Project )的理想方式应该是什么。

一种方法是在App.currentProject中创建一个共享的全局对象,但这违背了目的。

我认为,DashboardController应该持有一个对象,并且DashProjectsProjectSummary应该访问它。欢迎任何指导/指针。

0 投票
3 回答
7715 浏览

twitter-bootstrap - Ember.js 与 Twitter 引导模式

我已将我的应用程序设置为使用 ember 路由架构。我的索引页面看起来像这样(为简单起见)

和我这样的 ember 应用程序

我的主页和收件箱工作正常,但首先,我在我的 doInboxModal 中执行 jquery 以显示模式收件箱。如果我想在模态收件箱上有一个按钮以转到实际的收件箱页面,它将无法正常工作。

所以,问题是,如何正确使用带有 ember 路由的 Twitter Bootstrap 模式?

0 投票
1 回答
2473 浏览

javascript - 如何在 Ember.js 路由器应用程序中获取视图

如果我需要参考特定控制器的视图,我将如何在基于路由器的应用程序中获取它。

我可以得到这样的控制器

但是控制器不应该而且通常不知道视图所以

^-- 不会工作

这也行不通:

有没有正确的抓法?

0 投票
1 回答
268 浏览

ember.js - 具有瞬态的 Ember 路由器

受到Emberjs 的启发:路由器中的条件重定向我认为我可以在 Ember 路由器中使用瞬态,因为这就是该问题中的“索引”路由 - 它被输入并立即转换到另一个状态,而没有新的事件触发它。

我可以使用以下代码(动作触发transitionTwice)获得所需的效果,但是 URL 以相反的顺序更新,使其处于第一个状态,即使应用程序以正确的顺序遍历状态并以预期的最后一个状态结束。

控制台输出显示正确的状态变化:

但是 URL 最终出现在:

谁能发现我做错了什么?

谢谢,乔恩。

0 投票
1 回答
1126 浏览

ember.js - 如何使用参数连接 ember.js 路由

我有一个简单的模板,可以遍历 ember-data 模型。在循环内部,我想提供一个简单的锚标记,将元素的 id 传递给路由器,以便我可以转换到另一个 ember 视图。当我将鼠标悬停在链接上时,下面的内容在 href 中显示“未定义”,但是当我在路由中记录内容时,它是 ember-data 模型(不仅仅是我想要的 id)。

这里是路由器

先感谢您

0 投票
1 回答
296 浏览

ember.js - ember 路由器错误:对象哈希没有方法“getURL”

我刚刚从 v1.0.pre-42 切换到 ember-latest v1.0.pre-160-g7d62790,现在我的路由器抛出错误:TypeError: Object hash has no method 'getURL' when it is started。

该应用程序正在自动初始化。我已经深入研究了源代码,违规行是 11264: router.route(location.getURL());

在这种情况下,位置是'hash',它是Router.location的默认值。我认为它应该在路由器初始化时在内部设置为HashLocation。因此getURL()调用。

但它仍然是一个字符串。我怀疑这与某种初始化不正常有关,但我可以弄清楚原因。其他人遇到过这种情况,或者知道为什么会这样吗?